@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/091552c0eecc09ea-s.03zzy5e_003lv.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d61e11f3b1b5b8-s.34ayzsx_5oz7k.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1cbe60d695c74734-s.3vos_1o3m6xud.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Itim;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f12b0978eb9c0bb3-s.p.09c-o0fw2h3c3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Itim Fallback;src:local(Arial);ascent-override:98.03%;descent-override:25.8%;line-gap-override:0.0%;size-adjust:96.9%}.itim_c6278c61-module__XSXwma__className{font-family:Itim,Itim Fallback;font-style:normal;font-weight:400}.itim_c6278c61-module__XSXwma__variable{--font-itim:"Itim", "Itim Fallback"}
@layer theme{:root,:host{--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-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.table{display:table}}:root{--ink:#20211e;--cream:#f4f0e6;--paper:#e9e3d6;--accent:#e84b2b;--lime:#c9de60;--muted:#686963}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;margin:0}body,button{font-family:var(--font-itim),cursive}button,a{color:inherit}button{border:0}a{text-decoration:none}.site-shell{--ink:#20211e;--cream:#f4f0e6;--paper:#e9e3d6;--accent:#e84b2b;--lime:#c9de60;--muted:#686963;background:var(--cream);min-height:100vh;color:var(--ink);transition:background .3s,color .3s;overflow:hidden}.site-shell[data-theme=dark]{--ink:#f3eee5;--cream:#20221f;--paper:#2c2f2a;--accent:#f07351;--lime:#c9de60;--muted:#b9b8ae}.site-shell[data-theme=naruto]{--ink:#211f20;--cream:#fff4dc;--paper:#f1d49b;--accent:#ea5925;--lime:#f3ca54;--muted:#766a60}.site-noise{pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");position:fixed;inset:0}.sidebar{z-index:30;border-right:1px solid var(--ink);flex-direction:column;width:280px;padding:30px 26px 26px;display:flex;position:fixed;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.sidebar{border-right:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.sidebar{background:var(--cream)}.sidebar-menu{flex-direction:column;flex:1;min-height:0;display:flex}.brand{text-align:left;cursor:pointer;background:0 0;align-items:center;gap:15px;padding:0;line-height:1.2;display:flex}.brand-avatar{border:1px solid var(--ink);flex:none;width:76px;height:76px}@supports (color:color-mix(in lab, red, red)){.brand-avatar{border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.brand-avatar{object-fit:cover;border-radius:50%}.brand-name{gap:5px;min-width:0;display:grid}.brand-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:400;overflow:hidden}.brand-name small{color:var(--muted);font-size:13px}.mobile-menu-toggle{display:none}.mobile-menu-icon{width:25px;height:18px;position:relative}.mobile-menu-icon span{background:currentColor;width:100%;height:2px;transition:top .2s,transform .2s,opacity .2s;position:absolute;left:0}.mobile-menu-icon span:first-child{top:0}.mobile-menu-icon span:nth-child(2){top:8px}.mobile-menu-icon span:last-child{top:16px}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-icon span:first-child{top:8px;transform:rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-icon span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-icon span:last-child{top:8px;transform:rotate(-45deg)}.side-nav{flex-direction:column;gap:5px;margin:auto 0;display:flex}.side-nav button,.side-nav a{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;grid-template-columns:22px 1fr 20px;align-items:center;gap:10px;padding:14px 6px;transition:color .2s,transform .2s;display:grid;position:relative}.side-nav button:hover,.side-nav a:hover{color:var(--ink);transform:translate(3px)}.side-nav button.active,.side-nav a.active{color:var(--ink);background:0 0}.side-nav .active:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:24px;position:absolute;left:-26px}.nav-icon{height:21px;display:block}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.nav-label{font-size:17px;font-weight:700}.nav-arrow{color:var(--accent);opacity:0;justify-self:end;font-size:21px;transition:opacity .2s,transform .2s;transform:translate(-4px)}.active .nav-arrow{opacity:1;transform:none}.portfolio-controls{gap:15px;display:grid}.site-copyright{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px}.mobile-page-footer{display:none}.theme-switcher{background:0 0;gap:8px;width:max-content;padding:0;display:flex}.theme-dot{appearance:none;cursor:pointer;border:1.5px solid #0000;border-radius:50%;width:15px;height:15px;padding:0;transition:transform .2s}.theme-dot:hover{transform:scale(1.18)}.theme-dot[aria-pressed=true]{border-color:var(--ink);outline:1px solid var(--cream);outline-offset:-3px}.theme-dot.light{background:#ded6c6}.theme-dot.dark{background:#242723}.theme-dot.naruto{background:#e95727}.sidebar-email{border-top:1px solid var(--ink);justify-content:space-between;align-items:center;padding:14px 0 0;display:flex}@supports (color:color-mix(in lab, red, red)){.sidebar-email{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.sidebar-email{font-size:15px;font-weight:700}.sidebar-email svg{width:18px;height:18px;color:var(--accent)}.sidebar-links{flex-wrap:wrap;gap:8px;display:flex}.sidebar-links a{border:1px solid var(--ink);align-items:center;gap:7px;padding:7px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.sidebar-links a{border:1px solid color-mix(in srgb,var(--ink) 24%,transparent)}}.sidebar-links a{color:var(--ink);font-size:13px;font-weight:700;transition:color .2s,background .2s,border-color .2s,transform .2s}.sidebar-links a:hover{border-color:var(--ink);color:var(--cream);background:var(--ink);transform:translateY(-1px)}.sidebar-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-links svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.content-panel{min-height:100vh;margin-left:280px;animation:.42s both page-in;overflow-y:auto}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.view{width:min(1120px,100% - 96px);min-height:100vh;margin:0 auto;position:relative}.home-view{grid-template-columns:1.06fr .94fr;align-items:center;gap:30px;padding:70px 0 90px;display:grid}.eyebrow{color:var(--muted);letter-spacing:.11em;align-items:center;gap:10px;margin:0;font-size:11px;font-weight:700;display:flex}.eyebrow span{background:var(--accent);border-radius:50%;width:8px;height:8px}.hero-copy h1,.display-copy,.section-heading h1,.projects-header h1{letter-spacing:-.065em;margin:22px 0;font-size:clamp(3.1rem,6vw,6.3rem);font-weight:700;line-height:.9}.hero-copy h1 em,.display-copy em,.section-heading em,.projects-header em{color:var(--accent);font-style:normal;font-weight:700}.hero-intro{max-width:540px;color:var(--muted);margin:30px 0 0;font-size:18px;line-height:1.65}.hero-actions{align-items:center;gap:28px;margin-top:38px;display:flex}.button{cursor:pointer;letter-spacing:.03em;align-items:center;gap:10px;padding:15px 20px;font-size:14px;font-weight:700;display:inline-flex}.button svg,.text-button svg,.project-link svg,.timeline-arrow svg{width:18px;height:18px}.button-primary{color:var(--cream);background:var(--ink);box-shadow:4px 4px 0 var(--accent);transition:transform .2s,box-shadow .2s}.button-primary:hover{box-shadow:2px 2px 0 var(--accent);transform:translate(2px,2px)}.text-button{border-bottom:1px solid var(--ink);align-items:center;gap:8px;width:max-content;padding:0 0 5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.text-button{border-bottom:1px solid color-mix(in srgb,var(--ink) 38%,transparent)}}.text-button{cursor:pointer;background:0 0;font-size:15px;font-weight:700}.text-button span,.text-button svg{color:var(--accent)}.hero-art{aspect-ratio:1;justify-self:end;width:min(100%,465px);position:relative}.hero-sun{z-index:0;border:2px solid var(--accent);background:var(--accent);border-radius:50%;position:absolute;inset:13%}@supports (color:color-mix(in lab, red, red)){.hero-sun{background:color-mix(in srgb,var(--accent) 9%,transparent)}}.hero-portrait-frame{z-index:2;border-radius:50%;position:absolute;inset:13%;overflow:hidden}.hero-portrait{object-fit:cover;object-position:center;transition:transform .35s}.site-shell[data-theme=naruto] .hero-portrait-frame{border-radius:0;inset:-5% -16% 0 -12%;overflow:visible}.site-shell[data-theme=naruto] .hero-portrait{object-fit:contain;object-position:center bottom;transform:rotate(-2deg)scale(1.04)}.orbit{z-index:1;border:1px dashed var(--ink);position:absolute}@supports (color:color-mix(in lab, red, red)){.orbit{border:1px dashed color-mix(in srgb,var(--ink) 45%,transparent)}}.orbit{border-radius:50%}.orbit-one{inset:2% 0 9% 9%;transform:rotate(-27deg)}.orbit-two{inset:9% 3% 1% 0;transform:rotate(34deg)}.hero-badge{z-index:4;position:absolute;bottom:9%;right:3%}.hero-seal{border:1.5px solid var(--ink);width:74px;height:74px;color:var(--ink);background:var(--cream);border-radius:50%;place-items:center;display:grid}.hero-seal svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:35px;height:35px}.nin-badge{cursor:help;outline:none}.nin-badge .hero-seal{color:var(--accent);font-size:37px;transform:rotate(11deg)}.nin-badge:focus-visible .hero-seal{outline:2px solid var(--accent);outline-offset:4px}.nin-tooltip{visibility:hidden;border:1px solid var(--ink);width:min(320px,100vw - 390px);min-width:260px;padding:17px 18px;position:absolute;top:calc(100% + 14px);right:0}@supports (color:color-mix(in lab, red, red)){.nin-tooltip{border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}}.nin-tooltip{color:var(--ink);background:var(--cream);box-shadow:5px 5px 0 var(--ink)}@supports (color:color-mix(in lab, red, red)){.nin-tooltip{box-shadow:5px 5px 0 color-mix(in srgb,var(--ink) 12%,transparent)}}.nin-tooltip{opacity:0;transition:opacity .18s,transform .18s,visibility .18s;transform:translateY(-5px)}.nin-tooltip:before{content:"";border-top:1px solid var(--ink);width:12px;height:12px;position:absolute;bottom:100%;right:27px}@supports (color:color-mix(in lab, red, red)){.nin-tooltip:before{border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}}.nin-tooltip:before{border-left:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.nin-tooltip:before{border-left:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}}.nin-tooltip:before{background:var(--cream);transform:translateY(6px)rotate(45deg)}.nin-tooltip strong{color:var(--accent);margin-bottom:8px;font-size:16px;display:block}.nin-tooltip p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.45}.nin-tooltip b{color:var(--ink);font-weight:400}.nin-badge:hover .nin-tooltip,.nin-badge:focus .nin-tooltip,.nin-badge:focus-within .nin-tooltip{visibility:visible;opacity:1;transform:none}.art-caption{z-index:3;writing-mode:vertical-rl;letter-spacing:.1em;font-size:10px;font-weight:700;position:absolute;top:14%;right:6%}.view-index{letter-spacing:.11em;margin:0;font-size:11px;font-weight:700;position:absolute;bottom:28px;left:0}.view-index span,.section-label span{color:var(--accent)}.inner-view{padding:80px 0}.section-label{letter-spacing:.11em;color:var(--muted);font-size:12px;font-weight:700}.section-label span{margin-right:8px}.about-content{grid-template-columns:1.1fr .9fr;gap:65px;margin-top:55px;display:grid}.display-copy{max-width:740px;margin:0;font-size:clamp(2.5rem,4.8vw,4.9rem);line-height:.98}.about-side{padding-top:12px}.about-side p{color:var(--muted);margin:0 0 28px;font-size:17px;line-height:1.65}.about-experience{border-top:1px solid var(--ink);margin-top:85px;padding:48px 0 0}@supports (color:color-mix(in lab, red, red)){.about-experience{border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.about-section-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.about-section-heading h2{margin:0;font-size:28px}.experience-preview-list{border-top:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.experience-preview-list{border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}}.experience-preview-list article{border-bottom:1px solid var(--ink);grid-template-columns:42px 1.25fr .75fr;align-items:center;gap:24px;min-height:68px;display:grid}@supports (color:color-mix(in lab, red, red)){.experience-preview-list article{border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}}.experience-preview-list article>span{color:var(--accent);font-size:13px}.experience-preview-list h3{margin:0;font-size:18px;font-weight:400}.experience-preview-list p{color:var(--muted);text-align:right;margin:0;font-size:17px}.card-kicker{color:var(--accent);letter-spacing:.08em;margin:0 0 16px;font-size:13px;font-weight:700}.education-card{border-top:1px solid var(--ink);grid-template-columns:1.2fr .8fr;gap:32px;margin-top:85px;padding:48px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.education-card{border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.education-card{border-bottom:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.education-card{border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.education-card{background:0 0}.education-card h2{margin:0 0 10px;font-size:26px}.education-card h2~p{color:var(--muted);margin:7px 0;font-size:17px;line-height:1.45}.education-stats{justify-content:flex-end;align-items:flex-start;gap:34px;display:flex}.education-stats span{min-width:135px;color:var(--muted);padding:0;font-size:14px}.education-stats strong{color:var(--ink);margin-bottom:6px;font-size:20px;display:block}.honors{border-top:1px solid var(--ink);flex-wrap:wrap;grid-column:1/-1;gap:10px 24px;padding-top:24px;display:flex}@supports (color:color-mix(in lab, red, red)){.honors{border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.honors span{color:var(--muted);background:0 0;padding:0;font-size:14px;font-weight:700}.honors span:before{content:"✦";color:var(--accent);margin-right:8px}.skills-section{margin-top:70px}.skills-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}@supports (color:color-mix(in lab, red, red)){.skills-grid{border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.skills-grid article{border-bottom:1px solid var(--ink);min-height:180px;padding:30px 30px 30px 0}@supports (color:color-mix(in lab, red, red)){.skills-grid article{border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.skills-grid article:nth-child(odd){border-right:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.skills-grid article:nth-child(odd){border-right:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.skills-grid article:nth-child(2n){padding-left:30px}.skills-grid h2{text-transform:capitalize;margin:0 0 18px;font-size:18px}.skills-grid .tags{padding-right:0}.section-heading{justify-content:space-between;align-items:end;margin:45px 0 70px;display:flex}.section-heading h1,.projects-header h1{margin:0;font-size:clamp(3.2rem,5.7vw,5.8rem)}.section-heading>p{max-width:370px;color:var(--muted);margin:0 0 4px;font-size:18px;line-height:1.6}.timeline{border-top:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.timeline{border-top:1px solid color-mix(in srgb,var(--ink) 23%,transparent)}}.timeline-row{border-bottom:1px solid var(--ink);grid-template-columns:50px .75fr 1.25fr;align-items:start;gap:30px;padding:38px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.timeline-row{border-bottom:1px solid color-mix(in srgb,var(--ink) 23%,transparent)}}.timeline-period{color:var(--accent);font-size:14px;font-weight:700}.timeline h2{margin:0;font-size:23px;line-height:1.3}.timeline-title p{color:var(--muted);margin:8px 0 0;font-size:16px;line-height:1.45}.timeline-detail{color:var(--muted);font-size:17px;line-height:1.6}.timeline-detail ul{gap:13px;margin:0 0 20px;padding:0;list-style:none;display:grid}.timeline-detail li{position:relative}.timeline-detail li:before{content:"•";color:var(--accent);font-size:20px;line-height:1.25;position:absolute;left:-20px}.timeline-detail .tags{padding-right:0}.projects-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:end;margin:42px 0 55px;padding-bottom:48px;display:flex}@supports (color:color-mix(in lab, red, red)){.projects-header{border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.project-grid{display:block}.project-card{border-bottom:1px solid var(--ink);grid-template-columns:100px minmax(0,1fr);gap:34px;min-height:0;padding:42px 0;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.project-card{border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.project-card{background:0 0}.project-art{place-items:center;width:100px;height:100px;display:grid;position:relative;overflow:hidden;background:0 0!important}.project-art>span{z-index:1;color:var(--accent);font-size:14px;font-weight:700;position:absolute;top:0;left:0}.project-shape{border:7px solid var(--ink);border-radius:50%;width:54px;height:54px;position:relative;transform:rotate(-8deg)}.project-shape:before,.project-shape:after{content:"";background:var(--ink);position:absolute}.project-shape:before{width:7px;height:76px;top:-18px;left:17px;transform:rotate(42deg)}.project-shape:after{width:76px;height:7px;top:17px;left:-18px;transform:rotate(42deg)}.project-violet .project-shape{border-width:6px;border-color:var(--accent);background:0 0;border-radius:0;transform:rotate(40deg)}.project-violet .project-shape:after,.project-mint .project-shape:after{display:none}.project-mint .project-shape{border-width:6px;border-color:var(--accent);border-radius:50% 0 50% 50%;width:58px;transform:rotate(-30deg)}.project-meta{padding:0}.project-meta>p:first-child{color:var(--muted);letter-spacing:.06em;margin:0;font-size:13px}.project-meta h2{margin:11px 0 10px;font-size:29px;line-height:1.25}.project-description{max-width:820px;color:var(--muted);margin:0;font-size:18px;line-height:1.55}.project-highlights{max-width:900px;color:var(--muted);gap:12px;margin:20px 0 0;padding:0;font-size:16px;line-height:1.55;list-style:none;display:grid}.project-highlights li{position:relative}.project-highlights li:before{content:"•";color:var(--accent);font-size:20px;line-height:1.25;position:absolute;left:-20px}.tags{flex-wrap:wrap;gap:7px 17px;margin-top:20px;padding-right:0;display:flex}.tags span{color:var(--muted);border:0;padding:0;font-size:13px}.tags span:before{content:"•";color:var(--accent);margin-right:7px}.resume-page{width:min(1180px,100% - 48px);min-height:100vh;color:var(--ink);margin:0 auto;padding:32px 0 28px}.resume-toolbar{justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px;display:flex}.resume-toolbar h1{color:var(--ink);margin:8px 0 0;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.9}.resume-back{color:var(--muted);font-size:14px;font-weight:700}.resume-back:hover,.resume-fallback a:hover{color:var(--accent)}.resume-frame{border:1px solid var(--ink);min-height:75vh;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.resume-frame{border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.resume-frame{box-shadow:8px 8px 0 var(--ink);background:#fff}@supports (color:color-mix(in lab, red, red)){.resume-frame{box-shadow:8px 8px 0 color-mix(in srgb,var(--ink) 12%,transparent)}}.resume-frame iframe{border:0;width:100%;height:75vh;display:block}.resume-fallback{color:var(--muted);margin:18px 0 0;font-size:14px}.resume-fallback a{color:var(--ink);border-bottom:1px solid}@media (max-width:1050px){.sidebar{width:240px}.content-panel{margin-left:240px}.view{width:calc(100% - 64px)}.home-view{grid-template-columns:1fr;padding-top:75px}.hero-art{justify-self:center;width:min(55vh,390px);margin-top:20px}.hero-copy h1{font-size:clamp(3.2rem,7.5vw,5.7rem)}.about-content{grid-template-columns:1fr}.about-side{max-width:640px}}@media (max-width:700px){.sidebar{align-items:center;width:78px;padding:20px 12px}.content-panel{margin-left:78px}.brand-name,.nav-label,.nav-arrow,.sidebar-email span,.sidebar-bottom .site-copyright,.sidebar-links{display:none}.side-nav{gap:8px;width:100%}.side-nav button,.side-nav a{grid-template-columns:1fr;place-items:center;height:48px;padding:0;display:grid}.side-nav .active:before{left:-12px}.side-nav button:hover,.side-nav a:hover{transform:none}.nav-icon{height:20px;display:block}.sidebar-bottom{justify-items:center}.theme-switcher{flex-direction:column;align-items:center;width:28px;padding:0}.sidebar-email{border:1px solid var(--ink);place-items:center;width:42px;height:42px;padding:0;display:grid}@supports (color:color-mix(in lab, red, red)){.sidebar-email{border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}}.sidebar-email svg{width:18px;height:18px}.view{width:calc(100% - 36px)}.home-view{padding:60px 0 90px;display:block}.hero-copy h1{font-size:clamp(3rem,13vw,4.5rem)}.hero-art{width:min(100%,360px);margin:60px auto 0}.inner-view{padding:55px 0}.about-content,.section-heading{margin-top:38px;display:block}.about-side,.section-heading>p{margin-top:30px}.about-experience{margin-top:55px;padding-top:34px}.about-section-heading{flex-direction:column;align-items:flex-start}.experience-preview-list article{grid-template-columns:30px 1fr;gap:7px 15px;padding:15px 0}.experience-preview-list article>span{grid-row:1/3}.experience-preview-list p{text-align:left}.education-card{grid-template-columns:1fr;margin-top:55px;padding:34px 0}.education-stats{flex-wrap:wrap;justify-content:flex-start}.honors{grid-column:auto}.skills-grid{grid-template-columns:1fr}.skills-grid article,.skills-grid article:nth-child(2n){border-right:0;min-height:0;padding:26px 0}.timeline-row{grid-template-columns:30px 1fr;gap:16px}.timeline-detail{grid-column:2}.projects-header{flex-direction:column;align-items:flex-start;gap:24px}.project-card{grid-template-columns:62px 1fr;gap:18px;min-height:0;padding:30px 0}.project-art{width:62px;height:70px}.project-shape{transform:scale(.72)rotate(-8deg)}.project-violet .project-shape{transform:scale(.72)rotate(40deg)}.project-mint .project-shape{transform:scale(.72)rotate(-30deg)}.hero-actions{flex-direction:column;align-items:flex-start;gap:24px}.resume-page{width:calc(100% - 28px);padding-top:22px}.resume-toolbar{flex-direction:column;align-items:flex-start}.resume-frame,.resume-frame iframe{height:68vh;min-height:68vh}.brand-avatar{width:50px;height:50px}}@media (max-width:420px){.sidebar{width:68px;padding-inline:9px}.content-panel{margin-left:68px}.brand-avatar{width:48px;height:48px}.view{width:calc(100% - 28px)}.hero-copy h1,.display-copy,.section-heading h1,.projects-header h1{font-size:clamp(2.65rem,13vw,3.8rem)}.hero-art{margin-top:45px}.site-shell[data-theme=naruto] .hero-portrait-frame{inset:-3% -12% 2% -9%}.hero-badge{bottom:5%;right:1%}.hero-seal{width:62px;height:62px}.nin-tooltip{width:calc(100vw - 105px);min-width:0;right:-3px}.project-card{grid-template-columns:1fr}.project-art{width:70px}.project-meta h2{font-size:24px}}@media (max-width:700px){.sidebar{border-right:0;border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;padding:14px 18px;display:grid;position:relative;inset:auto}@supports (color:color-mix(in lab, red, red)){.sidebar{border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.brand{min-width:0}.brand-avatar{width:46px;height:46px}.brand-name{gap:2px;min-width:0;display:grid}.brand-name strong{font-size:18px}.brand-name small{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobile-menu-toggle{cursor:pointer;background:0 0;place-items:center;width:44px;height:44px;padding:0;display:grid}.mobile-menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-menu{grid-column:1/-1;width:100%;display:none}.sidebar[data-mobile-open=true] .sidebar-menu{display:flex}.side-nav{border-top:1px solid var(--ink);gap:0;width:100%;margin:14px 0 0;padding:10px 0}@supports (color:color-mix(in lab, red, red)){.side-nav{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.side-nav{border-bottom:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.side-nav{border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.side-nav button,.side-nav a{grid-template-columns:28px minmax(0,1fr) 20px;place-items:center;gap:12px;height:auto;min-height:52px;padding:10px 2px}.side-nav .active:before{left:-18px}.nav-icon{height:21px;display:block}.nav-label{justify-self:start;font-size:18px;display:block}.nav-arrow{display:block}.sidebar-bottom{justify-items:stretch;gap:14px;padding-top:16px;display:grid}.theme-switcher{flex-direction:row;align-items:center;width:max-content;padding:0}.sidebar-email{place-items:initial;border-width:1px 0 0;width:auto;height:auto;padding:12px 0 0;display:flex}.sidebar-email span{display:inline}.sidebar-links{display:flex}.sidebar-links a{gap:9px;padding:10px 12px;font-size:15px}.sidebar-links svg{width:18px;height:18px}.content-panel{margin-left:0}.mobile-page-footer{border-top:1px solid var(--ink);width:calc(100% - 36px);margin:0 auto;padding:30px 0 24px;display:grid}@supports (color:color-mix(in lab, red, red)){.mobile-page-footer{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.mobile-page-footer .site-copyright{display:block}.home-view{padding-top:46px}.nin-tooltip{width:calc(100vw - 56px)}}@media (prefers-reduced-motion:reduce){.content-panel{animation:none}*{scroll-behavior:auto!important}}
