*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.right-0{right:0}.right-5{right:1.25rem}.top-0{top:0}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-1{margin-top:-.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-3{height:.75rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-full{height:100%}.min-h-64{min-height:16rem}.min-h-screen{min-height:100vh}.w-16{width:4rem}.w-28{width:7rem}.w-3{width:.75rem}.w-9{width:2.25rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-\[6px\]{gap:6px}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-10{padding-bottom:2.5rem}.pb-28{padding-bottom:7rem}.pt-14{padding-top:3.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[7px\]{font-size:7px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-widest{letter-spacing:.1em}.opacity-0{opacity:0}.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)}.filter{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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--green: #00ff41;--green-dim: #00c032;--green-dark: #005a18;--green-muted: #3d6b4a;--green-border: #1a3024;--green-bright: #ccffe0;--bg: #030712;--bg-terminal: #080e0a;--bg-chrome: #0e1410;--cyan: #66d9e8;--yellow: #e8d06e;--scanline-opacity: .055;--vignette-opacity: .45;--glow-color: rgba(0, 255, 65, .35);--glow-strong: rgba(0, 255, 65, .7)}:root[data-theme=light]{--green: #006820;--green-dim: #008928;--green-dark: #c2e8cf;--green-muted: #4d7a5e;--green-border: #b0d9be;--green-bright: #00380f;--bg: #f2f6f3;--bg-terminal: #ffffff;--bg-chrome: #e3ede6;--cyan: #186878;--yellow: #7a6000;--scanline-opacity: .018;--vignette-opacity: .12;--glow-color: rgba(0, 104, 32, .2);--glow-strong: rgba(0, 104, 32, .4)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--green);font-family:JetBrains Mono,Courier New,monospace;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,var(--scanline-opacity)) 0px,rgba(0,0,0,var(--scanline-opacity)) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:9998}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,transparent 45%,rgba(0,0,0,var(--vignette-opacity)) 100%);pointer-events:none;z-index:9997}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--green-dark);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--green-dim)}::-moz-selection{background:#00682026;color:var(--green)}::selection{background:#00682026;color:var(--green)}:root[data-theme=dark] ::-moz-selection{background:#00ff412e}:root[data-theme=dark] ::selection{background:#00ff412e}.terminal-window{background:var(--bg-terminal);border:1px solid var(--green-border);border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px #0068200a,0 10px 40px #0000001f,inset 0 1px #ffffff08;transition:background .3s ease,border-color .3s ease}:root[data-theme=dark] .terminal-window{box-shadow:0 0 0 1px #00ff410a,0 10px 40px #000000b3,inset 0 1px #00ff410a}.terminal-title-bar{background:var(--bg-chrome);border-bottom:1px solid var(--green-border);padding:10px 14px;display:flex;align-items:center;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .3s ease}.dot-red{background:#ff5f57;box-shadow:0 0 5px #ff5f5780}.dot-yellow{background:#febc2e;box-shadow:0 0 5px #febc2e80}.dot-green{background:#28c840;box-shadow:0 0 5px #28c84080}.glow{text-shadow:0 0 8px var(--glow-strong),0 0 20px var(--glow-color)}.glow-subtle{text-shadow:0 0 6px var(--glow-color)}.glow-cyan{text-shadow:0 0 8px rgba(102,217,232,.4)}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:blink-cursor 1s step-end infinite}.tech-tag{display:inline-block;padding:1px 8px;border:1px solid var(--green-border);border-radius:3px;color:var(--green-muted);font-size:.7rem;letter-spacing:.03em;transition:border-color .15s,color .15s}.tech-tag:hover{border-color:var(--green-dim);color:var(--green)}.term-input{background:transparent;border:none;border-bottom:1px solid var(--green-border);color:var(--green-bright);font-family:inherit;font-size:.875rem;padding:4px 0;width:100%;caret-color:var(--green);transition:border-color .2s}.term-input:focus{outline:none;border-bottom-color:var(--green)}.term-input::-moz-placeholder{color:var(--green-muted);opacity:.5}.term-input::placeholder{color:var(--green-muted);opacity:.5}textarea.term-input{resize:vertical;border:1px solid var(--green-border);border-radius:3px;padding:6px 8px}textarea.term-input:focus{border-color:var(--green)}*,*:before,*:after{transition:background-color .25s ease,border-color .25s ease,color .15s ease}.no-transition{transition:none!important}@media (max-width: 768px){input,textarea{font-size:16px!important}}@page{size:A4;margin:1.5cm 1.8cm}@media print{body:before,body:after{display:none!important}html,body{background:#fff!important;color:#111!important;font-size:10.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}*,*:before,*:after{background:transparent!important;color:#111!important;border-color:#ccc!important;box-shadow:none!important;text-shadow:none!important;transition:none!important;animation:none!important}.no-print{display:none!important}.min-h-screen{min-height:0!important;padding:0!important;margin:0!important;background:#fff!important}.resume-sheet{max-width:100%!important;width:100%!important;border:none!important;border-radius:0!important;overflow:visible!important;margin:0!important;padding:0!important}.resume-sheet .p-8,.resume-sheet .md\:p-12{padding:0!important}section>div:first-child{-moz-column-break-after:avoid;break-after:avoid}.mb-7,.mb-4.last\:mb-0{-moz-column-break-inside:avoid;break-inside:avoid}.space-y-2>div{-moz-column-break-inside:avoid;break-inside:avoid}.print-tag{border:1px solid #bbb!important;color:#444!important;background:transparent!important;padding:1px 5px;border-radius:2px}a:after{content:none!important}}.group:hover .group-hover\:text-\[var\(--green\)\]{color:var(--green)}.group\/dots:hover .group-hover\/dots\:opacity-100{opacity:1}@media (min-width: 640px){.sm\:block{display:block}.sm\:inline{display:inline}}@media (min-width: 768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-7{padding:1.75rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}body.portfolio-active{margin:0;background:#f3f1eb;color:#171717;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body.portfolio-active:before,body.portfolio-active:after{display:none}.portfolio-page{--pf-paper: #f3f1eb;--pf-paper-deep: #ebe8e0;--pf-ink: #171717;--pf-muted: #68665f;--pf-line: #d3d0c7;--pf-line-dark: #343434;--pf-accent: #244b78;--pf-accent-soft: #dfe7ef;--pf-dark: #181818;--pf-dark-muted: #aaa69c;--pf-white: #fbfaf7;min-height:100vh;background:var(--pf-paper);color:var(--pf-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}.portfolio-page *,.portfolio-page *:before,.portfolio-page *:after{box-sizing:border-box;transition:none}.portfolio-page a,.portfolio-page button{transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease,opacity .16s ease}.portfolio-page a{color:inherit;text-decoration:none}.portfolio-page button,.portfolio-page input,.portfolio-page textarea{font:inherit}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page p{margin:0}.portfolio-page ul{margin:0;padding:0;list-style:none}.pf-shell{width:min(1240px,calc(100% - 64px));margin:0 auto}.pf-skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:10px 14px;background:var(--pf-ink);color:#fff!important;transform:translateY(-150%)}.pf-skip-link:focus{transform:translateY(0)}.pf-header{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(211,208,199,.86);background:#f3f1ebf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pf-header-inner{min-height:76px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:28px}.pf-brand{display:inline-flex;flex-direction:column;justify-self:start;line-height:1.2}.pf-brand-name{font-size:15px;font-weight:700;letter-spacing:-.015em}.pf-brand-role{margin-top:3px;color:var(--pf-muted);font-size:11px}.pf-desktop-nav{display:flex;align-items:center;justify-content:center;gap:27px;font-size:13px;color:#4f4d47}.pf-desktop-nav a:hover,.pf-resume-link:hover,.pf-footer-links a:hover{color:var(--pf-accent)}.pf-header-actions{display:flex;align-items:center;justify-self:end;gap:18px;font-size:13px}.pf-resume-link{color:#4f4d47}.pf-primary-small{display:inline-flex;align-items:center;min-height:38px;padding:0 17px;border:1px solid var(--pf-ink);background:var(--pf-ink);color:#fff!important;font-weight:600}.pf-primary-small:hover{background:var(--pf-accent);border-color:var(--pf-accent)}.pf-menu-button{display:none;padding:8px 0;border:0;background:transparent;color:var(--pf-ink);cursor:pointer}.pf-mobile-nav{display:none}.pf-hero{position:relative;padding:52px 0 0;border-bottom:1px solid var(--pf-line)}.pf-hero:before{content:"";position:absolute;top:0;right:max(32px,calc((100vw - 1240px)/2));width:1px;height:100%;background:linear-gradient(to bottom,transparent 0,var(--pf-line) 14%,var(--pf-line) 86%,transparent 100%);opacity:.58}.pf-hero-meta{display:flex;justify-content:space-between;gap:24px;padding-bottom:54px;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--pf-muted)}.pf-hero-grid{display:grid;grid-template-columns:minmax(0,7.5fr) minmax(300px,4.5fr);gap:90px;align-items:end;padding-bottom:84px}.pf-hero-copy h1{max-width:860px;font-size:clamp(48px,6.2vw,88px);line-height:.99;letter-spacing:-.065em;font-weight:650}.pf-hero-aside{padding-bottom:8px}.pf-hero-aside>p{max-width:480px;color:var(--pf-muted);font-size:15px;line-height:1.75}.pf-hero-aside .pf-lead{margin-bottom:16px;color:var(--pf-ink);font-size:18px;line-height:1.55}.pf-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.pf-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--pf-ink);font-size:13px;font-weight:650}.pf-button:hover{transform:translateY(-1px)}.pf-button-dark{background:var(--pf-ink);color:#fff!important}.pf-button-dark:hover{background:var(--pf-accent);border-color:var(--pf-accent)}.pf-button-ghost{background:transparent}.pf-button-ghost:hover{background:var(--pf-white)}.pf-button-light{border-color:#fff;background:#fff;color:var(--pf-ink)!important}.pf-button-light:hover{background:transparent;color:#fff!important}.pf-hero-footer{min-height:66px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;border-top:1px solid var(--pf-line);font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#5a5852}.pf-hero-footer span:not(:first-child){border-left:1px solid var(--pf-line);padding-left:24px}.pf-section{padding:132px 0;border-bottom:1px solid var(--pf-line)}.pf-section-heading{margin-bottom:72px}.pf-heading-split{display:grid;grid-template-columns:minmax(0,7.2fr) minmax(300px,4.8fr);gap:88px;align-items:end}.pf-heading-split>p,.pf-heading-split>div:last-child>p{color:var(--pf-muted);font-size:15px;line-height:1.75}.pf-kicker,.pf-small-label{display:block;margin-bottom:18px;font-family:IBM Plex Mono,JetBrains Mono,monospace;color:var(--pf-accent);font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}.pf-section-heading h2,.pf-direction-grid h2,.pf-contact-grid h2{max-width:790px;font-size:clamp(36px,4.1vw,58px);line-height:1.05;letter-spacing:-.05em;font-weight:620}.pf-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pf-line)}.pf-pillar{min-height:310px;padding:30px 34px 18px 0;border-right:1px solid var(--pf-line)}.pf-pillar:not(:first-child){padding-left:34px}.pf-pillar:last-child{border-right:0;padding-right:0}.pf-index{display:inline-block;color:var(--pf-muted);font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em}.pf-pillar h3{margin-top:78px;margin-bottom:16px;font-size:22px;letter-spacing:-.035em}.pf-pillar p{max-width:330px;color:var(--pf-muted);font-size:14px;line-height:1.75}.pf-work-section{background:#eeece6}.pf-work-list{border-top:1px solid var(--pf-ink)}.pf-work-item{display:grid;grid-template-columns:86px minmax(0,1.2fr) minmax(320px,.8fr);gap:38px;padding:50px 0 56px;border-bottom:1px solid var(--pf-line)}.pf-work-number{padding-top:5px;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:11px;color:var(--pf-muted)}.pf-work-topline{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:17px;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--pf-muted)}.pf-status{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border:1px solid var(--pf-line);background:#ffffff4d}.pf-status-public{border-color:#b7c8b5;color:#315e37}.pf-status-private{color:#6b655b}.pf-work-main h3{max-width:620px;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.045em;font-weight:620}.pf-work-role{margin-top:10px!important;color:var(--pf-accent);font-size:13px;font-weight:650}.pf-work-summary{max-width:650px;margin-top:24px!important;color:var(--pf-muted);font-size:15px;line-height:1.75}.pf-work-proof{padding-top:3px}.pf-work-proof ul{margin-bottom:28px}.pf-work-proof li{position:relative;padding:0 0 14px 18px;color:#46443f;font-size:13px;line-height:1.65}.pf-work-proof li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;background:var(--pf-accent)}.pf-private-note{padding-top:18px;border-top:1px solid var(--pf-line);color:var(--pf-muted);font-size:12px;line-height:1.6}.pf-arrow-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:3px;border-bottom:1px solid currentColor;color:var(--pf-ink);font-size:13px;font-weight:650}.pf-arrow-link:hover{gap:14px;color:var(--pf-accent)}.pf-secondary-work{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;padding-top:92px}.pf-secondary-work h3{max-width:400px;font-size:26px;line-height:1.2;letter-spacing:-.035em}.pf-secondary-links{border-top:1px solid var(--pf-line)}.pf-secondary-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--pf-line)}.pf-secondary-links a:hover{color:var(--pf-accent)}.pf-secondary-links a>span:first-child{display:flex;flex-direction:column;gap:4px}.pf-secondary-links strong{font-size:14px;font-weight:650}.pf-secondary-links small{color:var(--pf-muted);font-size:12px}.pf-ai-section{background:var(--pf-paper)}.pf-note{margin-top:14px!important;color:var(--pf-ink)!important;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:11px!important}.pf-ai-workflow{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--pf-ink)}.pf-ai-step{min-height:280px;padding:32px 42px 34px 0;border-bottom:1px solid var(--pf-line)}.pf-ai-step:nth-child(odd){border-right:1px solid var(--pf-line)}.pf-ai-step:nth-child(2n){padding-left:42px}.pf-ai-step-head{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:baseline}.pf-ai-step h3{font-size:22px;letter-spacing:-.035em}.pf-ai-step>p{max-width:520px;margin:22px 0 26px 58px!important;color:var(--pf-muted);font-size:14px;line-height:1.75}.pf-example-line{display:flex;flex-wrap:wrap;gap:8px 16px;margin-left:58px;color:#65625b;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px}.pf-example-line span:not(:last-child):after{content:" /";color:#a09d95}.pf-ai-guardrail{margin-top:48px;padding:30px 0 0 58px;border-top:1px solid var(--pf-line)}.pf-ai-guardrail p{max-width:790px;font-size:clamp(20px,2.3vw,30px);line-height:1.35;letter-spacing:-.025em}.pf-architecture-section{background:var(--pf-dark);color:var(--pf-white);border-bottom-color:#2f2f2f}.pf-heading-light>p,.pf-heading-light>div:last-child>p{color:var(--pf-dark-muted)}.pf-architecture-section .pf-kicker{color:#9eb6ce}.pf-architecture-flow{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:88px;border-top:1px solid var(--pf-line-dark);border-bottom:1px solid var(--pf-line-dark)}.pf-architecture-node{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;padding:22px 18px 24px 0;border-right:1px solid var(--pf-line-dark)}.pf-architecture-node:not(:first-child){padding-left:18px}.pf-architecture-node:last-child{border-right:0}.pf-architecture-node span{color:#77746d;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px}.pf-architecture-node strong{max-width:120px;font-size:13px;line-height:1.45;font-weight:550}.pf-question-grid{display:grid;grid-template-columns:repeat(2,1fr);-moz-column-gap:70px;column-gap:70px}.pf-question{display:grid;grid-template-columns:48px 1fr;gap:22px;padding:25px 0;border-top:1px solid var(--pf-line-dark)}.pf-question span{color:#77746d;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px}.pf-question p{font-size:20px;line-height:1.35;letter-spacing:-.02em}.pf-experience-list{border-top:1px solid var(--pf-ink)}.pf-experience-item{display:grid;grid-template-columns:.34fr .66fr;gap:60px;padding:48px 0 54px;border-bottom:1px solid var(--pf-line)}.pf-experience-meta{display:flex;flex-direction:column;gap:7px;color:var(--pf-muted);font-size:12px}.pf-experience-meta strong{color:var(--pf-ink);font-size:15px;font-weight:650}.pf-experience-role{margin-bottom:10px!important;color:var(--pf-accent);font-size:12px;font-weight:650}.pf-experience-body h3{max-width:680px;font-size:26px;line-height:1.2;letter-spacing:-.035em}.pf-experience-body>p:not(.pf-experience-role):not(.pf-tech-line){max-width:760px;margin-top:18px!important;color:var(--pf-muted);font-size:14px;line-height:1.7}.pf-experience-body ul{max-width:760px;margin-top:25px;display:grid;gap:9px}.pf-experience-body li{position:relative;padding-left:16px;color:#45433e;font-size:13px;line-height:1.6}.pf-experience-body li:before{content:"—";position:absolute;left:0;color:#98958d}.pf-tech-line{margin-top:28px!important;color:#858178;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px;line-height:1.7}.pf-capabilities-section{background:#eeece6}.pf-capability-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--pf-ink)}.pf-capability-group{min-height:310px;padding:28px 25px 28px 0;border-right:1px solid var(--pf-line)}.pf-capability-group:not(:first-child){padding-left:25px}.pf-capability-group:last-child{border-right:0;padding-right:0}.pf-capability-group h3{min-height:52px;margin-bottom:31px;font-size:14px;line-height:1.4;letter-spacing:-.01em}.pf-capability-group ul{display:grid;gap:10px}.pf-capability-group li{color:var(--pf-muted);font-size:12px}.pf-direction-section{padding:108px 0;border-bottom:1px solid var(--pf-line)}.pf-direction-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(360px,6fr);gap:90px;align-items:start}.pf-direction-path{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;gap:12px;align-items:center;padding:17px 0 20px;border-top:1px solid var(--pf-ink);border-bottom:1px solid var(--pf-line);font-size:12px;line-height:1.4}.pf-direction-path span:nth-child(2n){color:var(--pf-accent)}.pf-direction-grid>div:last-child>p{max-width:680px;margin-top:28px!important;color:var(--pf-muted);font-size:14px;line-height:1.75}.pf-contact-section{padding:126px 0;background:var(--pf-accent);color:#fff}.pf-contact-section .pf-kicker{color:#d4e1ed}.pf-contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);gap:90px;align-items:end}.pf-contact-copy>p{max-width:520px;color:#dce5ee;font-size:15px;line-height:1.75}.pf-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}.pf-contact-section .pf-arrow-link{color:#fff}.pf-contact-meta{margin-top:28px!important;color:#bfcfdd!important;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:10px!important}.pf-footer{padding:38px 0 44px;background:#101010;color:#f5f3ed}.pf-footer-inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}.pf-footer-inner>div:first-child{display:flex;flex-direction:column;gap:4px}.pf-footer-inner strong{font-size:13px}.pf-footer-inner span,.pf-footer-inner p{color:#8e8b84;font-size:11px}.pf-footer-links{display:flex;gap:24px;font-size:12px}.pf-footer-inner p{grid-column:1 / -1;padding-top:28px;border-top:1px solid #2b2b2b}@media (max-width: 1080px){.pf-header-inner{grid-template-columns:1fr auto}.pf-desktop-nav{display:none}.pf-menu-button{display:inline-block}.pf-mobile-nav{display:block;border-top:1px solid var(--pf-line)}.pf-mobile-nav .pf-shell{display:grid;padding:12px 0 18px}.pf-mobile-nav a{padding:10px 0;font-size:14px}.pf-hero-grid,.pf-heading-split,.pf-contact-grid{gap:58px}.pf-work-item{grid-template-columns:60px minmax(0,1fr)}.pf-work-proof{grid-column:2;max-width:680px;padding-top:0}.pf-capability-grid{grid-template-columns:repeat(3,1fr)}.pf-capability-group:nth-child(3){border-right:0}.pf-capability-group:nth-child(n+4){border-top:1px solid var(--pf-line)}.pf-capability-group:nth-child(4){padding-left:0}.pf-architecture-flow{grid-template-columns:repeat(3,1fr)}.pf-architecture-node:nth-child(3){border-right:0}.pf-architecture-node:nth-child(n+4){border-top:1px solid var(--pf-line-dark)}.pf-architecture-node:nth-child(4){padding-left:0}}@media (max-width: 820px){.pf-shell{width:min(100% - 40px,1240px)}.pf-header-actions .pf-resume-link,.pf-header-actions .pf-primary-small{display:none}.pf-header-inner{min-height:68px}.pf-hero{padding-top:38px}.pf-hero:before{display:none}.pf-hero-meta{padding-bottom:40px}.pf-hero-grid,.pf-heading-split,.pf-secondary-work,.pf-direction-grid,.pf-contact-grid{grid-template-columns:1fr;gap:36px}.pf-hero-copy h1{font-size:clamp(44px,10vw,66px)}.pf-hero-grid{padding-bottom:58px}.pf-hero-aside{max-width:610px}.pf-hero-footer{grid-template-columns:1fr;padding:13px 0}.pf-hero-footer span{padding:8px 0!important;border-left:0!important}.pf-section{padding:90px 0}.pf-section-heading{margin-bottom:52px}.pf-pillar-grid{grid-template-columns:1fr}.pf-pillar,.pf-pillar:not(:first-child),.pf-pillar:last-child{min-height:auto;padding:28px 0 36px;border-right:0;border-bottom:1px solid var(--pf-line)}.pf-pillar:last-child{border-bottom:0}.pf-pillar h3{margin-top:34px}.pf-work-item{grid-template-columns:44px 1fr;gap:22px;padding:38px 0 44px}.pf-work-proof{grid-column:2}.pf-secondary-work{padding-top:70px}.pf-ai-workflow{grid-template-columns:1fr}.pf-ai-step,.pf-ai-step:nth-child(2n),.pf-ai-step:nth-child(odd){min-height:auto;padding:30px 0 34px;border-right:0}.pf-ai-step>p,.pf-example-line{margin-left:0!important}.pf-ai-step>p{margin-top:18px!important}.pf-ai-guardrail{padding-left:0}.pf-architecture-flow{grid-template-columns:repeat(2,1fr)}.pf-architecture-node:nth-child(2n){border-right:0}.pf-architecture-node:nth-child(3){border-right:1px solid var(--pf-line-dark)}.pf-architecture-node:nth-child(n+3){border-top:1px solid var(--pf-line-dark)}.pf-architecture-node:nth-child(odd){padding-left:0}.pf-question-grid{grid-template-columns:1fr}.pf-experience-item{grid-template-columns:1fr;gap:24px}.pf-experience-meta{display:grid;grid-template-columns:1fr 1fr}.pf-capability-grid{grid-template-columns:repeat(2,1fr)}.pf-capability-group,.pf-capability-group:not(:first-child),.pf-capability-group:nth-child(4){padding:26px 22px 30px 0;border-top:1px solid var(--pf-line);border-right:1px solid var(--pf-line)}.pf-capability-group:nth-child(2n){padding-left:22px;border-right:0}.pf-capability-group:nth-child(odd){padding-left:0}.pf-capability-group:first-child,.pf-capability-group:nth-child(2){border-top:0}.pf-direction-section{padding:86px 0}.pf-direction-path{grid-template-columns:1fr;justify-items:start}.pf-direction-path span:nth-child(2n){transform:rotate(90deg)}.pf-contact-section{padding:92px 0}}@media (max-width: 560px){.pf-shell{width:min(100% - 30px,1240px)}.pf-brand-role{display:none}.pf-hero-meta{flex-direction:column;gap:6px;padding-bottom:34px}.pf-hero-copy h1{font-size:clamp(40px,12vw,56px);line-height:1.01}.pf-hero-aside .pf-lead{font-size:16px}.pf-hero-actions{display:grid}.pf-button{width:100%}.pf-section{padding:76px 0}.pf-section-heading h2,.pf-direction-grid h2,.pf-contact-grid h2{font-size:36px}.pf-work-item{grid-template-columns:1fr}.pf-work-number,.pf-work-proof{grid-column:1}.pf-work-number{margin-bottom:-8px}.pf-work-topline{align-items:flex-start;flex-direction:column}.pf-secondary-links small{max-width:260px}.pf-architecture-flow{grid-template-columns:1fr}.pf-architecture-node,.pf-architecture-node:not(:first-child),.pf-architecture-node:nth-child(3),.pf-architecture-node:nth-child(odd){min-height:105px;padding:18px 0;border-top:1px solid var(--pf-line-dark);border-right:0}.pf-architecture-node:first-child{border-top:0}.pf-architecture-node strong{max-width:none}.pf-question{grid-template-columns:34px 1fr;gap:10px}.pf-question p{font-size:17px}.pf-experience-meta,.pf-capability-grid{grid-template-columns:1fr}.pf-capability-group,.pf-capability-group:not(:first-child),.pf-capability-group:nth-child(4),.pf-capability-group:nth-child(2n),.pf-capability-group:nth-child(odd){min-height:auto;padding:24px 0 28px;border-top:1px solid var(--pf-line);border-right:0}.pf-capability-group:first-child{border-top:0}.pf-capability-group h3{min-height:0;margin-bottom:20px}.pf-contact-actions{display:grid;align-items:stretch}.pf-footer-inner{grid-template-columns:1fr;gap:24px}.pf-footer-links{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.portfolio-page *,.portfolio-page *:before,.portfolio-page *:after{scroll-behavior:auto!important;transition:none!important}}@media print{body.portfolio-active{background:#fff!important}.pf-header,.pf-contact-section,.pf-footer{display:none!important}.portfolio-page{background:#fff!important;color:#111!important}}.resume-page{min-height:100vh;background:#f4f2ed;color:#171717;padding:32px 16px 56px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.resume-toolbar{max-width:960px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.resume-back,.resume-print{font-size:13px;font-weight:600;text-decoration:none}.resume-back{color:#656565}.resume-back:hover{color:#171717}.resume-print{border:1px solid #171717;background:#171717;color:#fff;border-radius:8px;padding:9px 14px;cursor:pointer}.resume-print:hover{background:#2c2c2c}.resume-document{width:100%;max-width:960px;margin:0 auto;background:#fff;border:1px solid #dedbd3;box-shadow:0 24px 60px #16161614;padding:54px 58px 48px}.resume-header{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:42px;padding-bottom:30px;border-bottom:1px solid #d9d7d1}.resume-eyebrow,.resume-section-label,.resume-mini-label{text-transform:uppercase;letter-spacing:.12em;font-size:10px;line-height:1.4;font-weight:700;color:#52606d}.resume-name{margin:6px 0 4px;font-size:clamp(34px,5vw,48px);line-height:1;letter-spacing:-.04em;color:#111}.resume-legal-name{margin:0 0 16px;color:#737373;font-size:12px}.resume-role{margin:0;max-width:620px;font-size:16px;line-height:1.55;color:#343434}.resume-contact-list{display:grid;align-content:end;gap:7px;font-size:12px;line-height:1.45}.resume-contact-list a,.resume-contact-list span{color:#4a4a4a;text-decoration:none;overflow-wrap:anywhere}.resume-contact-list a:hover{color:#0f4c81}.resume-section{padding:30px 0;border-bottom:1px solid #e3e1dc}.resume-section:last-child{border-bottom:0;padding-bottom:0}.resume-section-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px}.resume-summary{margin:0;max-width:760px;font-size:14px;line-height:1.75;color:#393939}.resume-strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e3e1dc;border-left:1px solid #e3e1dc}.resume-strength{min-height:132px;padding:18px;border-right:1px solid #e3e1dc;border-bottom:1px solid #e3e1dc}.resume-strength h3{margin:7px 0;font-size:14px;line-height:1.35;color:#191919}.resume-strength p{margin:0;font-size:12px;line-height:1.6;color:#626262}.resume-ai-flow{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;align-items:center}.resume-ai-flow span{font-size:11px;font-weight:700;color:#27384a;background:#f2f5f7;border:1px solid #dbe2e7;padding:6px 9px;border-radius:999px}.resume-ai-flow b{color:#9a9a9a;font-size:11px;font-weight:500}.resume-ai-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0;padding:0;list-style:none}.resume-ai-list li{position:relative;padding-left:14px;font-size:12px;line-height:1.55;color:#505050}.resume-ai-list li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:#315f85}.resume-job+.resume-job{margin-top:25px;padding-top:25px;border-top:1px solid #eceae6}.resume-job-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.resume-job-title{margin:0;font-size:15px;line-height:1.4;color:#171717}.resume-job-company{margin:2px 0 0;color:#315f85;font-size:12px;font-weight:700}.resume-job-period{color:#727272;font-size:11px;white-space:nowrap;padding-top:2px}.resume-job-domain{margin:9px 0 6px;font-size:12px;font-weight:700;color:#4d4d4d}.resume-job-description{margin:0 0 8px;color:#5d5d5d;font-size:12px;line-height:1.6}.resume-bullets{margin:0;padding-left:17px}.resume-bullets li{margin:4px 0;font-size:12px;line-height:1.55;color:#404040}.resume-tech-line{margin:9px 0 0;color:#777;font-size:10.5px;line-height:1.55}.resume-projects{display:grid;gap:18px}.resume-project{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:22px;padding-bottom:17px;border-bottom:1px solid #eceae6}.resume-project:last-child{padding-bottom:0;border-bottom:0}.resume-project h3{margin:3px 0 5px;font-size:14px;line-height:1.4;color:#171717}.resume-project-domain,.resume-project-summary,.resume-project-proof{margin:0;font-size:11.5px;line-height:1.55}.resume-project-domain{color:#315f85;font-weight:700}.resume-project-summary{color:#5c5c5c}.resume-project-side{text-align:right}.resume-project-status{display:inline-block;margin-bottom:7px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#5c6570}.resume-project-proof{color:#666}.resume-project-link{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;color:#0f4c81;text-decoration:none}.resume-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.resume-capability h3{margin:0 0 5px;font-size:11px;color:#315f85;text-transform:uppercase;letter-spacing:.08em}.resume-capability p{margin:0;font-size:11.5px;line-height:1.6;color:#4f4f4f}.resume-education{display:flex;justify-content:space-between;gap:24px}.resume-education strong{display:block;font-size:13px;color:#171717}.resume-education span{font-size:11.5px;color:#676767}.resume-print-note{max-width:960px;margin:14px auto 0;text-align:center;color:#858585;font-size:11px}@media (max-width: 760px){.resume-page{padding:18px 10px 36px}.resume-document{padding:34px 24px}.resume-header,.resume-section-grid{grid-template-columns:1fr;gap:18px}.resume-strengths,.resume-ai-list,.resume-capability-grid{grid-template-columns:1fr}.resume-project{grid-template-columns:1fr;gap:8px}.resume-project-side{text-align:left}.resume-job-head,.resume-education{flex-direction:column;gap:4px}.resume-job-period{white-space:normal}}@page{size:A4;margin:12mm 13mm}@media print{html,body{background:#fff!important}body:before,body:after,.resume-toolbar,.resume-print-note{display:none!important}.resume-page{min-height:auto!important;padding:0!important;background:#fff!important;color:#111!important}.resume-document{max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.resume-header{grid-template-columns:1.4fr .6fr;gap:28px;padding-bottom:16px}.resume-section{padding:15px 0}.resume-section-grid{grid-template-columns:110px minmax(0,1fr);gap:22px}.resume-name{font-size:30px}.resume-role,.resume-summary{font-size:10.5pt;line-height:1.45}.resume-strengths{grid-template-columns:repeat(3,1fr)}.resume-strength{min-height:0;padding:10px}.resume-strength p,.resume-job-description,.resume-bullets li,.resume-capability p,.resume-project-summary,.resume-project-domain,.resume-project-proof{font-size:8.6pt;line-height:1.35}.resume-ai-list{grid-template-columns:repeat(2,1fr)}.resume-ai-list li{font-size:8.5pt;line-height:1.35}.resume-job+.resume-job{margin-top:13px;padding-top:13px}.resume-job,.resume-project,.resume-capability,.resume-education{-moz-column-break-inside:avoid;break-inside:avoid}.resume-project{grid-template-columns:minmax(0,1fr) 145px;gap:16px}.resume-capability-grid{grid-template-columns:repeat(2,1fr);gap:8px 20px}.resume-tech-line{font-size:7.8pt}a{color:inherit!important;text-decoration:none!important}a:after{content:none!important}}
