/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-app:#0a0c10;--color-app-elevated:#11151b;--color-surface:#171c23;--color-surface-strong:#1d2430;--color-border-subtle:#cbd5e124;--color-border-strong:#94a3b83d;--color-text-strong:#f8fafc;--color-text-body:#d0d8e4;--color-text-muted:#93a0b2;--color-text-soft:#c9d1dc;--color-accent:#8fb4ff;--color-accent-soft:#8fb4ff14;--color-accent-line:#8fb4ff2e}}@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,ui-sans-serif, system-ui, 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{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}:root{--page-frame-inset:1rem;--section-frame-inset:1rem;--theme-body-background:#0a0c10;--theme-body-text:#f8fafc;--theme-selection-background:#8fb4ff33;--theme-selection-text:#f8fafc;--theme-scrollbar-thumb:#8fb4ff47;--theme-scrollbar-thumb-hover:#8fb4ff6b;--theme-contact-action:#7da2ef;--theme-contact-icon-background:#0f172a59;--theme-contact-icon-border:#94a3b82e;--theme-contact-icon-foreground:#bfdbfec7;--theme-page-return-background:#11182738;--theme-page-return-border:#94a3b829;--theme-page-return-foreground:#eef4ff;--theme-page-return-shadow:0 10px 24px #05080e33;--theme-page-return-hover-background:#1118275c;--theme-page-return-hover-border:#8fb4ff3d;--theme-page-return-hover-shadow:0 12px 28px #05080e3d;--theme-case-impact-border:#60a5fa99;--theme-case-study-filled-start:#181d26f5;--theme-case-study-filled-end:#11151bf5;--theme-footer-separator:#94a3b8e6;--theme-language-link:#94a3b8b8;--theme-language-link-hover:#c9d1dceb;--theme-language-link-active:#f8fafcfa;--theme-language-separator:#94a3b899;--theme-section-dim-opacity:.46;--theme-hero-cta-primary-hover:#8fb4ff1f;--theme-card-shadow:none;--theme-section-block-shadow:none;--theme-hero-utility-background:transparent;--theme-hero-utility-border:transparent;--theme-hero-utility-shadow:none;--theme-earlier-panel-background:#171c238c;--theme-earlier-panel-border:#cbd5e11d;--theme-earlier-bullet:#8fb4ffd1;--theme-earlier-title:#f8fafce0;--theme-earlier-detail:#c9d1dcc7}:root[data-theme=light]{--color-app:#e8eef6;--color-app-elevated:#f5f8fc;--color-surface:#fff;--color-surface-strong:#eef3f9;--color-border-subtle:#0f172a1c;--color-border-strong:#0f172a36;--color-text-strong:#0f172a;--color-text-body:#2f4158;--color-text-muted:#50627a;--color-text-soft:#3e5169;--color-accent:#3565e6;--color-accent-soft:#3565e61a;--color-accent-line:#3565e638;--theme-body-background:#e8eef6;--theme-body-text:#0f172a;--theme-selection-background:#4f7eff29;--theme-selection-text:#0f172a;--theme-scrollbar-thumb:#4f7eff47;--theme-scrollbar-thumb-hover:#4f7eff6b;--theme-contact-action:#315fe0;--theme-contact-icon-background:#ffffffd1;--theme-contact-icon-border:#94a3b83d;--theme-contact-icon-foreground:#3565e6e0;--theme-page-return-background:#ffffffe0;--theme-page-return-border:#4f7eff38;--theme-page-return-foreground:#1e293b;--theme-page-return-shadow:0 14px 32px #94a3b83d;--theme-page-return-hover-background:#fffffffa;--theme-page-return-hover-border:#4f7eff57;--theme-page-return-hover-shadow:0 18px 36px #94a3b842;--theme-case-impact-border:#3565e675;--theme-case-study-filled-start:#fffffffa;--theme-case-study-filled-end:#f5f8fcfa;--theme-footer-separator:#64748beb;--theme-language-link:#3e5169e0;--theme-language-link-hover:#0f172af0;--theme-language-link-active:#0f172afa;--theme-language-separator:#586a82cc;--theme-section-dim-opacity:.72;--theme-hero-cta-primary-hover:#3565e629;--theme-card-shadow:0 14px 30px #94a3b824;--theme-section-block-shadow:0 18px 38px #94a3b829;--theme-hero-utility-background:#ffffffc7;--theme-hero-utility-border:#0f172a14;--theme-hero-utility-shadow:0 8px 24px #94a3b829;--theme-earlier-panel-background:#ffffffd6;--theme-earlier-panel-border:#0f172a18;--theme-earlier-bullet:#3565e6b8;--theme-earlier-title:#1e293bf5;--theme-earlier-detail:#384a61fa}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar-thumb) transparent;background-color:var(--theme-body-background);color:var(--theme-body-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--theme-body-background);min-width:320px;color:var(--theme-body-text);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}*{box-sizing:border-box}#root{background:var(--theme-body-background);width:100%;min-height:100%;color:var(--theme-body-text);overflow-x:clip}::selection{background:var(--theme-selection-background);color:var(--theme-selection-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--theme-scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb-hover)}a,button{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}}@layer components{.page-load-fade{opacity:0;transition:opacity .64s cubic-bezier(.22,1,.36,1),transform .64s cubic-bezier(.22,1,.36,1);transition-delay:var(--page-load-delay,0s);transform:translateY(14px)}.page-load-fade--ready{opacity:1;transform:translateY(0)}.section-reveal{transition:opacity .42s cubic-bezier(.22,1,.36,1)}.section-reveal--dimmed{opacity:var(--theme-section-dim-opacity)}@media (hover:hover){.section-reveal--dimmed:hover,.section-reveal--dimmed:focus-within{opacity:1}}.section-reveal--visible{opacity:1}.contact-card-action{color:var(--theme-contact-action);touch-action:manipulation;align-items:center;text-decoration:none;transition:color .18s;display:inline-flex}.hero-cta{min-height:calc(var(--spacing) * 12);border-radius:var(--radius-xl);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-width:1px;justify-content:center;align-items:center;display:inline-flex}@media (width>=40rem){.hero-cta{width:auto;min-width:9rem;min-height:2.75rem}}.hero-cta--primary{border-color:var(--color-accent-line);color:var(--color-text-strong)}@media (hover:hover){.hero-cta--primary:hover{border-color:var(--color-accent)}}.hero-cta--primary{background-color:var(--color-accent-soft)}.hero-cta--primary:hover,.hero-cta--primary:focus-visible{background-color:var(--theme-hero-cta-primary-hover)}.hero-cta--secondary{border-color:var(--color-border-subtle);background-color:var(--color-surface);color:var(--color-text-soft)}@media (hover:hover){.hero-cta--secondary:hover{border-color:var(--color-border-strong);background-color:var(--color-surface-strong);color:var(--color-text-strong)}}.hero-cta--secondary{transition:border-color .16s,color .16s,box-shadow .16s,transform .16s}.site-inline-separator{color:currentColor;opacity:.82;vertical-align:baseline;margin:0 .38em;font-weight:500;line-height:1;display:inline-block}.contact-card-action:hover,.contact-card-action:focus-visible{color:var(--color-accent)}.contact-card-action:focus-visible{outline-offset:3px;border-radius:.45rem;outline:2px solid #8fb4fff2}.contact-card-action:disabled,.contact-card-action[aria-disabled=true]{color:var(--color-text-muted)}.contact-card-primary-surface{z-index:0;width:100%;color:inherit;cursor:pointer;touch-action:manipulation;appearance:none;background:0 0;border:0;border-radius:.75rem;text-decoration:none;display:block;position:absolute;inset:0}.contact-card-primary-surface:focus-visible{outline-offset:3px;outline:2px solid #8fb4fff2}.contact-card-primary-surface:disabled{cursor:default}.contact-icon-frame{pointer-events:none;border:1px solid var(--theme-contact-icon-border);background:var(--theme-contact-icon-background);width:2.25rem;height:2.25rem;color:var(--theme-contact-icon-foreground);border-radius:.625rem;flex:0 0 2.25rem;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.contact-card-icon{flex:none;width:1.125rem;height:1.125rem}.contact-card-content{pointer-events:none}.contact-action-separator{color:#94a3b899;opacity:1;vertical-align:baseline;margin:0 8px;font-size:1em;line-height:1;display:inline-block;transform:translateY(-1px)}.hero-utility-cluster{justify-content:flex-end;align-items:center;width:100%;margin-bottom:.45rem;display:flex}@media (width>=640px){.hero-utility-cluster{margin-bottom:.9rem}.header-controls__item{min-height:auto;padding:0}}.header-controls{align-items:center;gap:0;min-height:1rem;font-size:.76rem;line-height:1;display:inline-flex}.header-controls__item{height:1rem;color:var(--theme-language-link);white-space:nowrap;touch-action:manipulation;justify-content:center;align-items:center;padding:0 .18rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.header-controls__label{text-align:center;line-height:1;display:block}.header-controls__button{cursor:pointer;font:inherit;background:0 0;border:0}.header-controls__icon{opacity:.96;justify-content:center;align-items:center;width:.72rem;height:.72rem;display:inline-flex}.header-controls__icon svg{width:100%;height:100%;display:block}.header-controls__icon--moon{opacity:1;width:.8rem;height:.8rem;transform:translate(1px)}.header-controls__icon--moon svg{width:100%;height:100%}.header-controls__item:hover,.header-controls__item:focus-visible{color:var(--theme-language-link-hover)}.header-controls__item:focus-visible{outline-offset:3px;border-radius:.45rem;outline:2px solid #8fb4fff2}.header-controls__item--active{color:var(--theme-language-link-active);opacity:1;font-weight:500}.header-controls__separator{background:var(--theme-language-separator);opacity:.88;align-self:center;width:1px;height:.92em;margin:0 .16rem;display:inline-block}.earlier-projects-list{margin:0;padding:0;list-style:none}.earlier-projects-panel{background:var(--theme-earlier-panel-background);border-color:var(--theme-earlier-panel-border)}.earlier-projects-list__item{color:var(--color-text-soft);align-items:flex-start;gap:.8rem;font-size:.96rem;line-height:1.7;display:flex}.earlier-projects-list__item+.earlier-projects-list__item{margin-top:.8rem}.earlier-projects-list__bullet{background:var(--theme-earlier-bullet);border-radius:999px;flex:none;width:.34rem;height:.34rem;margin-top:.68rem}.earlier-projects-list__title{font-weight:500}.earlier-projects-list__title--static{color:var(--theme-earlier-title)}.earlier-projects-list__detail{color:var(--theme-earlier-detail)}.case-impact{border-left:2px solid var(--theme-case-impact-border);align-items:flex-start;min-height:4rem;margin-top:18px;padding-left:.75rem;display:flex}.case-impact p{color:#f8fafcf2;margin:0}@supports (color:color-mix(in lab, red, red)){.case-impact p{color:color-mix(in srgb, var(--color-text-strong) 95%, transparent)}}.case-study-card{cursor:default;min-width:0}.case-study-card--filled{background:linear-gradient(180deg, var(--theme-case-study-filled-start) 0%, var(--theme-case-study-filled-end) 100%)}.case-study-card__description{color:var(--color-text-soft);margin-top:0}.case-title{margin:0;font-weight:600;line-height:1.3}.footer-separator{color:var(--theme-footer-separator);opacity:.85;margin:0 5px;font-size:1em;font-weight:600;line-height:1;display:inline-block}.case-tech-list{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;opacity:.8;letter-spacing:.01em;flex-wrap:nowrap;gap:5px 10px;min-height:19px;max-height:19px;margin-top:7px;margin-bottom:16px;font-size:14px;line-height:19px;display:flex;overflow:hidden}.case-tech-token{white-space:nowrap}@media (width<=1279px){.case-impact{min-height:auto}}@media (width>=1280px){.case-impact{min-height:48px;max-height:48px}}.page-return-control{z-index:60;border:1px solid var(--theme-page-return-border);background:var(--theme-page-return-background);width:48px;height:48px;color:var(--theme-page-return-foreground);box-shadow:var(--theme-page-return-shadow);-webkit-backdrop-filter:blur(10px);cursor:pointer;touch-action:manipulation;opacity:0;pointer-events:none;border-radius:14px;justify-content:center;align-items:center;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),color .18s,border-color .18s,background-color .18s,box-shadow .18s;display:inline-flex;position:fixed;bottom:60px;right:56px;transform:translateY(12px)}.page-return-control--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.page-return-control:hover,.page-return-control:focus-visible{color:var(--color-accent);border-color:var(--theme-page-return-hover-border);background:var(--theme-page-return-hover-background);box-shadow:var(--theme-page-return-hover-shadow)}.page-return-control__icon{justify-content:center;align-items:center;line-height:1;display:inline-flex;transform:translateY(-1px)}.page-return-control__svg{width:18px;height:18px;display:block}@media (pointer:coarse){.header-controls__item{min-height:2.5rem;padding:.45rem .22rem}}@media (width>=640px) and (pointer:coarse){.header-controls__item{min-height:auto}}:root[data-theme=light] .header-controls__item{color:var(--theme-language-link)}:root[data-theme=light] .hero-cta--secondary{color:var(--color-text-body);border-color:#94a3b832}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light] .hero-cta--secondary{border-color:color-mix(in srgb, var(--color-border-strong) 82%, transparent)}}:root[data-theme=light] .header-controls__item:hover,:root[data-theme=light] .header-controls__item:focus-visible{color:var(--theme-language-link-hover)}:root[data-theme=light] .header-controls__item--active{color:var(--theme-language-link-active)}:root[data-theme=light] .header-controls__separator{color:var(--theme-language-separator)}.cv-document-page[data-render-mode=pdf]{background:#fff;width:max-content;min-width:210mm;padding:0;overflow:visible}.cv-document-page[data-render-mode=pdf] .cv-document{width:210mm;max-width:none}.cv-document-page[data-render-mode=pdf] .cv-sheet{background:0 0;border:0;padding:1.15rem 1.2rem}.cv-document-page[data-render-mode=pdf] .cv-sheet+.cv-sheet{margin-top:.7rem}.cv-document-page[data-render-mode=pdf] .cv-sheet--first{padding-top:1rem;padding-bottom:.95rem}.cv-document-page[data-render-mode=pdf] .cv-hero{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr);gap:.85rem}.cv-document-page[data-render-mode=pdf] .cv-panel{background:0 0;border:0;padding:0}.cv-document-page[data-render-mode=pdf] .cv-section-heading .cv-eyebrow{display:none}.cv-document-page[data-render-mode=pdf] .cv-section-heading h2{margin-top:0}.cv-document-page[data-render-mode=pdf] .cv-section-heading p:last-child{max-width:46rem;margin-top:.5rem}.cv-document-page[data-render-mode=pdf] .cv-grid{gap:.9rem;margin-top:.75rem}.cv-document-page[data-render-mode=pdf] .cv-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-document-page[data-render-mode=pdf] .cv-grid--three{grid-template-columns:1fr}.cv-document-page[data-render-mode=pdf] .cv-subsection{margin-top:1rem}.cv-document-page[data-render-mode=pdf] .cv-section-block--tech-stack{padding-top:.55rem}.cv-document-page[data-render-mode=pdf] .cv-card{background:0 0;border:0;padding:0}.cv-document-page[data-render-mode=pdf] .cv-sheet--tech-stack .cv-card p,.cv-document-page[data-render-mode=pdf] .cv-subsection .cv-grid--three .cv-card p:last-child{margin-top:.42rem}.cv-document-page[data-render-mode=pdf] .cv-sheet--tech-stack .cv-card__group:first-of-type{margin-top:.78rem}.cv-document-page[data-render-mode=pdf] .cv-sheet--tech-stack .cv-card__group+.cv-card__group{margin-top:.86rem}.cv-document-page[data-render-mode=pdf] .cv-card__group .cv-tags{margin-top:.3rem}.cv-document-page[data-render-mode=pdf] .cv-tags{gap:.48rem .68rem}.cv-document-page[data-render-mode=pdf] .cv-tag{white-space:normal;background:0 0;border:0;padding:0;line-height:1.4}.cv-document-page[data-render-mode=pdf] .cv-contact-stack{gap:.75rem;margin-top:.75rem}.cv-document-page[data-render-mode=pdf] .cv-links{margin-top:0}.cv-document-page[data-render-mode=pdf] .cv-links li+li,.cv-document-page[data-render-mode=pdf] .cv-document-footer{margin-top:.45rem}html.pdf-mode{scroll-behavior:auto}html.pdf-mode body{color:#111827;background:#fff;min-width:0;font-size:10.75pt;line-height:1.45;overflow:visible}html.pdf-mode #root{overflow:visible}html.pdf-mode .cv-document-page[data-render-mode=pdf]{color:#111827;background:#fff;min-height:auto;padding:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-document{color:#111827;background-color:#fff;width:210mm;max-width:none;margin:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-sheet{break-inside:avoid;page-break-inside:avoid;background:0 0;border:0 #0f172a29;padding:1.15rem 1.2rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-sheet+.cv-sheet{margin-top:.7rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-sheet--first{padding-top:1rem;padding-bottom:.95rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-hero{color:#111827;background-color:#0000;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr);align-items:start;gap:.85rem;display:grid}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-panel{background:0 0;border:0 #0f172a14;padding:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading .cv-eyebrow{display:none}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading h2{margin-top:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading p:last-child{max-width:46rem;margin-top:.5rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-grid{gap:.9rem;margin-top:.75rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-grid--three{grid-template-columns:1fr}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-subsection{margin-top:1rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-block--tech-stack{padding-top:.55rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card{background:0 0;border:0 #0f172a29;padding:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-sheet--tech-stack .cv-card p,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-subsection .cv-grid--three .cv-card p:last-child{margin-top:.42rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-sheet--tech-stack .cv-card__group:first-of-type{margin-top:.78rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-sheet--tech-stack .cv-card__group+.cv-card__group{margin-top:.86rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card__group .cv-tags{margin-top:.3rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-tags{gap:.48rem .68rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-tag{white-space:normal;background:0 0;border:0 #0000;padding:0;line-height:1.4}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-contact-stack{gap:.75rem;margin-top:.75rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-links{margin-top:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-links li+li,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-document-footer{margin-top:.45rem}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-name,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-claim,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-summary,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-eyebrow,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-panel__title,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading h2,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading p:last-child,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card h3,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card p,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card__label,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card__index,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-contact-term,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-links a,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-document-footer,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-bullets li,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-tag{font-weight:400}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-name{color:#111827;background-color:#0000;margin-top:3.2mm;font-size:19pt;font-weight:500;line-height:1.03}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-claim{color:#1f2937;background-color:#0000;max-width:none;margin-top:3mm;font-size:11.2pt;line-height:1.48}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-summary{color:#4b5563;background-color:#0000;max-width:none;margin-top:2.5mm;font-size:10.55pt;line-height:1.52}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-hero .cv-eyebrow,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-panel__title{color:#6b7280;background-color:#0000;font-size:8.1pt;font-weight:500;line-height:1.32}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-bullets li{color:#374151;background-color:#0000;font-size:10.15pt;line-height:1.48}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading{break-inside:avoid;color:#111827;background-color:#0000;padding-bottom:0}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading h2{color:#111827;background-color:#0000;font-size:14.4pt;font-weight:500;line-height:1.18}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-section-heading p:last-child{color:#4b5563;background-color:#0000;font-size:10.45pt;line-height:1.5}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card h3{color:#111827;background-color:#0000;font-size:11.15pt;font-weight:500;line-height:1.24}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card p{color:#374151;background-color:#0000;font-size:10.45pt;line-height:1.5}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-card__label,html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-contact-term{color:#374151;background-color:#0000;font-size:9.2pt;font-weight:500;line-height:1.35}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-tag{color:#4b5563;font-size:9.9pt;line-height:1.42}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-subsection .cv-grid--three .cv-card h3{color:#111827;background-color:#0000;margin-top:0;font-size:11.15pt;font-weight:500;line-height:1.24}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-subsection .cv-grid--three .cv-card p:last-child{color:#4b5563;background-color:#0000;margin-top:1.8mm;font-size:10.1pt;line-height:1.5}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-links a{color:#374151;background-color:#0000;font-size:10.2pt;line-height:1.46}html.pdf-mode .cv-document-page[data-render-mode=pdf] .cv-document-footer{color:#6b7280;background-color:#0000;font-size:8.4pt;line-height:1.35}.cv-document.pdf-mode,.cv-document[data-render-mode=pdf]{color:#111827;background-color:#fff;width:210mm;max-width:none;margin:0;font-size:10.75pt;line-height:1.45}.cv-document.pdf-mode .cv-sheet,.cv-document[data-render-mode=pdf] .cv-sheet{background:0 0;border:0 #0f172a29;padding:1.15rem 1.2rem}.cv-document.pdf-mode .cv-hero,.cv-document[data-render-mode=pdf] .cv-hero{color:#111827;background-color:#0000;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr);align-items:start;gap:.85rem;display:grid}.cv-document.pdf-mode .cv-eyebrow,.cv-document[data-render-mode=pdf] .cv-eyebrow{letter-spacing:0;text-transform:none;color:#334155;background-color:#0000;font-size:8.1pt;font-weight:500;line-height:1.32}.cv-document.pdf-mode .cv-panel__title,.cv-document[data-render-mode=pdf] .cv-panel__title,.cv-document.pdf-mode .cv-card__label,.cv-document[data-render-mode=pdf] .cv-card__label,.cv-document.pdf-mode .cv-contact-term,.cv-document[data-render-mode=pdf] .cv-contact-term{letter-spacing:0;text-transform:none;color:#374151;background-color:#0000;font-size:9.2pt;font-weight:500;line-height:1.35}.cv-document.pdf-mode .cv-name,.cv-document[data-render-mode=pdf] .cv-name,.cv-document.pdf-mode .cv-section-heading h2,.cv-document[data-render-mode=pdf] .cv-section-heading h2,.cv-document.pdf-mode .cv-card h3,.cv-document[data-render-mode=pdf] .cv-card h3{color:#111827;background-color:#0000;font-weight:500}.cv-document.pdf-mode .cv-claim,.cv-document[data-render-mode=pdf] .cv-claim,.cv-document.pdf-mode .cv-summary,.cv-document[data-render-mode=pdf] .cv-summary,.cv-document.pdf-mode .cv-section-heading p:last-child,.cv-document[data-render-mode=pdf] .cv-section-heading p:last-child,.cv-document.pdf-mode .cv-card p,.cv-document[data-render-mode=pdf] .cv-card p,.cv-document.pdf-mode .cv-links a,.cv-document[data-render-mode=pdf] .cv-links a,.cv-document.pdf-mode .cv-tag,.cv-document[data-render-mode=pdf] .cv-tag,.cv-document.pdf-mode .cv-bullets li,.cv-document[data-render-mode=pdf] .cv-bullets li,.cv-document.pdf-mode .cv-document-footer,.cv-document[data-render-mode=pdf] .cv-document-footer{color:#4b5563;background-color:#0000;line-height:1.45}.cv-document.pdf-mode .cv-panel,.cv-document[data-render-mode=pdf] .cv-panel,.cv-document.pdf-mode .cv-card,.cv-document[data-render-mode=pdf] .cv-card,.cv-document.pdf-mode .cv-tag,.cv-document[data-render-mode=pdf] .cv-tag{background:0 0;border-color:#0f172a24}html.print-preview-mode{scroll-behavior:auto}html.print-preview-mode body{color:#111827;background:#fff;min-width:0;font-size:10.75pt;line-height:1.45;overflow:visible}html.print-preview-mode #root{overflow:visible}html.print-preview-mode .cv-document-page{color:#111827!important;background:#fff!important;min-height:auto!important;padding:0!important}html.print-preview-mode .cv-document-page[data-render-mode=print]{width:100%!important;min-width:0!important;max-width:none!important}html.print-preview-mode .cv-document-page[data-render-mode=print] .cv-document{width:100%!important;max-width:none!important;margin:0!important}html.print-preview-mode .cv-document-page[data-render-mode=print] .cv-sheet{box-shadow:none!important;background:#fff!important;border:0!important;outline:none!important;padding:0!important}html.print-preview-mode .cv-document-page[data-render-mode=print] .cv-card,html.print-preview-mode .cv-document-page[data-render-mode=print] .cv-contact-card,html.print-preview-mode .cv-document-page[data-render-mode=print] .cv-panel{box-shadow:none!important;background:0 0!important;border:0!important}.cv-document-page[data-render-mode=print]{color:#111827;background:0 0;min-height:auto;padding:0}.cv-document-page[data-render-mode=print] .cv-document{width:100%;max-width:none;margin:0}.cv-document-page[data-render-mode=print] .cv-sheet{break-inside:avoid;page-break-inside:avoid;background:0 0;border:0;padding:0}.cv-document-page[data-render-mode=print] .cv-sheet+.cv-sheet{margin-top:0}.cv-document-page[data-render-mode=print] .cv-hero{gap:var(--cv-export-top-grid-gap,18pt);grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr)}.cv-document-page[data-render-mode=print] .cv-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-document-page[data-render-mode=print] .cv-grid--three{grid-template-columns:1fr}.cv-document-page[data-render-mode=print] .cv-card,.cv-document-page[data-render-mode=print] .cv-contact-card{box-shadow:none!important;background:0 0!important;border:0!important}html.print-preview-mode .cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__label,.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__label{color:var(--cv-export-strong-color,#0f172a)!important}.cv-document-page[data-render-mode=print] .screen-only{display:none}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.z-20{z-index:20}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[1\.25rem\]{margin-top:1.25rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-full{height:100%}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[5\.5rem\]{min-height:5.5rem}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[34rem\]{max-width:34rem}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.list-none{list-style-type:none}.grid-cols-\[2\.25rem_minmax\(0\,1fr\)\]{grid-template-columns:2.25rem minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-0{column-gap:calc(var(--spacing) * 0)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-accent-line{border-color:var(--color-accent-line)}.border-border-subtle{border-color:var(--color-border-subtle)}.border-border-subtle\/70{border-color:#cbd5e119}@supports (color:color-mix(in lab, red, red)){.border-border-subtle\/70{border-color:color-mix(in oklab, var(--color-border-subtle) 70%, transparent)}}.border-border-subtle\/80{border-color:#cbd5e11d}@supports (color:color-mix(in lab, red, red)){.border-border-subtle\/80{border-color:color-mix(in oklab, var(--color-border-subtle) 80%, transparent)}}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-app{background-color:var(--color-app)}.bg-app-elevated{background-color:var(--color-app-elevated)}.bg-app\/35{background-color:#0a0c1059}@supports (color:color-mix(in lab, red, red)){.bg-app\/35{background-color:color-mix(in oklab, var(--color-app) 35%, transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-surface\/55{background-color:#171c238c}@supports (color:color-mix(in lab, red, red)){.bg-surface\/55{background-color:color-mix(in oklab, var(--color-surface) 55%, transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.p-4{padding:calc(var(--spacing) * 4)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-\[calc\(env\(safe-area-inset-top\,0px\)\+0\.625rem\)\]{padding-top:calc(env(safe-area-inset-top,0px) + .625rem)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-9{padding-bottom:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.69rem\]{font-size:.69rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.96rem\]{font-size:.96rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.4rem\]{font-size:2.4rem}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[1\.7rem\]{--tw-leading:1.7rem;line-height:1.7rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.035em\]{--tw-tracking:-.035em;letter-spacing:-.035em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.28em\]{--tw-tracking:.28em;letter-spacing:.28em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-text-body{color:var(--color-text-body)}.text-text-muted{color:var(--color-text-muted)}.text-text-soft{color:var(--color-text-soft)}.text-text-soft\/90{color:#c9d1dce6}@supports (color:color-mix(in lab, red, red)){.text-text-soft\/90{color:color-mix(in oklab, var(--color-text-soft) 90%, transparent)}}.text-text-strong{color:var(--color-text-strong)}.text-text-strong\/92{color:#f8fafceb}@supports (color:color-mix(in lab, red, red)){.text-text-strong\/92{color:color-mix(in oklab, var(--color-text-strong) 92%, transparent)}}.text-text-strong\/95{color:#f8fafcf2}@supports (color:color-mix(in lab, red, red)){.text-text-strong\/95{color:color-mix(in oklab, var(--color-text-strong) 95%, transparent)}}.uppercase{text-transform:uppercase}.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,)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:border-accent-line:hover{border-color:var(--color-accent-line)}.hover\:bg-surface-strong:hover{background-color:var(--color-surface-strong)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-50:focus{z-index:50}.disabled\:cursor-default:disabled{cursor:default}.disabled\:text-text-muted:disabled{color:var(--color-text-muted)}@media (width>=480px){.min-\[480px\]\:mt-0{margin-top:calc(var(--spacing) * 0)}.min-\[480px\]\:flex{display:flex}.min-\[480px\]\:min-w-0{min-width:calc(var(--spacing) * 0)}.min-\[480px\]\:flex-1{flex:1}.min-\[480px\]\:shrink-0{flex-shrink:0}.min-\[480px\]\:flex-row{flex-direction:row}.min-\[480px\]\:items-center{align-items:center}.min-\[480px\]\:gap-4{gap:calc(var(--spacing) * 4)}.min-\[480px\]\:gap-5{gap:calc(var(--spacing) * 5)}.min-\[480px\]\:self-center{align-self:center}}@media (width>=1070px){.min-\[1070px\]\:mt-auto{margin-top:auto}.min-\[1070px\]\:flex{display:flex}.min-\[1070px\]\:min-h-0{min-height:calc(var(--spacing) * 0)}.min-\[1070px\]\:max-w-lg{max-width:var(--container-lg)}.min-\[1070px\]\:max-w-md{max-width:var(--container-md)}.min-\[1070px\]\:max-w-xl{max-width:var(--container-xl)}.min-\[1070px\]\:grid-cols-\[minmax\(0\,1fr\)_minmax\(20rem\,28rem\)\]{grid-template-columns:minmax(0,1fr) minmax(20rem,28rem)}.min-\[1070px\]\:flex-col{flex-direction:column}.min-\[1070px\]\:items-stretch{align-items:stretch}.min-\[1070px\]\:gap-10{gap:calc(var(--spacing) * 10)}}@media (width>=40rem){.sm\:mt-5{margin-top:calc(var(--spacing) * 5)}.sm\:mt-9{margin-top:calc(var(--spacing) * 9)}.sm\:mt-10{margin-top:calc(var(--spacing) * 10)}.sm\:mt-\[1\.25rem\]{margin-top:1.25rem}.sm\:flex{display:flex}.sm\:min-h-\[2\.75rem\]{min-height:2.75rem}.sm\:w-auto{width:auto}.sm\:max-w-\[35rem\]{max-width:35rem}.sm\:min-w-\[9rem\]{min-width:9rem}.sm\:scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}:where(.sm\:space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-9{padding-block:calc(var(--spacing) * 9)}.sm\:pt-4{padding-top:calc(var(--spacing) * 4)}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.sm\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.sm\:pb-12{padding-bottom:calc(var(--spacing) * 12)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[0\.72rem\]{font-size:.72rem}.sm\:text-\[0\.96rem\]{font-size:.96rem}.sm\:text-\[1\.12rem\]{font-size:1.12rem}.sm\:text-\[1\.0625rem\]{font-size:1.0625rem}.sm\:text-\[1rem\]{font-size:1rem}.sm\:text-\[2\.6rem\]{font-size:2.6rem}.sm\:leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.sm\:leading-\[2rem\]{--tw-leading:2rem;line-height:2rem}.sm\:tracking-\[0\.26em\]{--tw-tracking:.26em;letter-spacing:.26em}}@media (width>=48rem){.md\:mt-\[1\.375rem\]{margin-top:1.375rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-\[1\.2rem\]{font-size:1.2rem}.md\:text-\[1\.04rem\]{font-size:1.04rem}.md\:text-\[2\.6rem\]{font-size:2.6rem}.md\:leading-\[2\.1rem\]{--tw-leading:2.1rem;line-height:2.1rem}}@media (width>=64rem){.lg\:mt-\[1\.5rem\]{margin-top:1.5rem}.lg\:mt-auto{margin-top:auto}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:min-h-\[5\.25rem\]{min-height:5.25rem}.lg\:max-w-\[31rem\]{max-width:31rem}.lg\:scroll-mt-8{scroll-margin-top:calc(var(--spacing) * 8)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.25fr\)_minmax\(19rem\,0\.75fr\)\]{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr)}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:p-7{padding:calc(var(--spacing) * 7)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-12{padding-block:calc(var(--spacing) * 12)}.lg\:pt-10{padding-top:calc(var(--spacing) * 10)}.lg\:pb-14{padding-bottom:calc(var(--spacing) * 14)}.lg\:text-\[1\.06rem\]{font-size:1.06rem}.lg\:text-\[1\.26rem\]{font-size:1.26rem}.lg\:text-\[2\.6rem\]{font-size:2.6rem}.lg\:text-\[2rem\]{font-size:2rem}.lg\:leading-\[2\.2rem\]{--tw-leading:2.2rem;line-height:2.2rem}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:py-14{padding-block:calc(var(--spacing) * 14)}.xl\:text-\[2\.6rem\]{font-size:2.6rem}}.page-shell{width:100%;max-width:72rem;padding-inline:var(--page-frame-inset);margin-inline:auto}.section-spacing{padding-block:calc(var(--spacing) * 9)}@media (width>=40rem){.section-spacing{padding-block:calc(var(--spacing) * 12)}}@media (width>=64rem){.section-spacing{padding-block:calc(var(--spacing) * 14)}}.card-surface{border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);background-color:var(--color-surface);box-shadow:var(--theme-card-shadow)}.section-block{padding-inline:var(--section-frame-inset);border-radius:var(--radius-3xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);background-color:#11151b8c}@supports (color:color-mix(in lab, red, red)){.section-block{background-color:color-mix(in oklab, var(--color-app-elevated) 55%, transparent)}}.section-block{padding-block:calc(var(--spacing) * 8)}@media (width>=40rem){.section-block{padding-block:calc(var(--spacing) * 10)}}@media (width>=64rem){.section-block{padding-block:calc(var(--spacing) * 14)}}.section-block{box-shadow:var(--theme-section-block-shadow)}.section-divider{border-top-style:var(--tw-border-style);border-color:#cbd5e120;border-top-width:1px}@supports (color:color-mix(in lab, red, red)){.section-divider{border-color:color-mix(in oklab, var(--color-border-subtle) 90%, transparent)}}.focus-ring:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--color-accent);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:var(--color-app);--tw-outline-style:none;outline-style:none}}@font-face{font-family:CvSans;src:url(/fonts/NotoSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CvSans;src:url(/fonts/NotoSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@media (prefers-reduced-motion:reduce){.page-load-fade,.page-load-fade--ready,.section-reveal,.section-reveal--dimmed,.section-reveal--visible{opacity:1;transition:none;transform:none}.page-return-control,.page-return-control--visible{transition:none;transform:none}}@media screen and (width>=640px){.cv-document-page:not([data-render-mode=print]) .cv-sheet{border:1px solid #0f172a14}:root{--page-frame-inset:1.5rem;--section-frame-inset:1.5rem}}@media screen and (width>=1024px){:root{--page-frame-inset:2rem;--section-frame-inset:2rem}}html.print-preview-mode[lang=cs] .cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__body--tech-stack,html[lang=cs] .cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__body--tech-stack{height:9.7mm!important;min-height:9.7mm!important;max-height:9.7mm!important}@media print{@page{size:A4 portrait;margin:12mm}html{scroll-behavior:auto}body{color:#111827;background:#fff;min-width:0;font-size:10.75pt;line-height:1.45;overflow:visible}#root{overflow:visible}.cv-document-page{color:#111827!important;background:0 0!important;min-height:auto!important;padding:0!important}.cv-document-page[data-render-mode=print]{width:100%!important;min-width:0!important;max-width:none!important}.cv-document{width:100%!important;max-width:none!important;margin:0!important}.cv-sheet{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important;padding:0!important}.cv-document-page[data-render-mode=print] .cv-sheet{box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.cv-sheet+.cv-sheet{margin-top:0!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack{break-before:auto!important;page-break-before:auto!important;display:block!important}.cv-hero{gap:var(--cv-export-top-grid-gap,18pt)!important}.cv-eyebrow,.cv-panel__title,.cv-card__label,.cv-card__index,.cv-contact-term{letter-spacing:0!important;text-transform:none!important}.cv-name,.cv-claim,.cv-summary,.cv-eyebrow,.cv-panel__title,.cv-section-heading h2,.cv-section-heading p:last-child,.cv-card h3,.cv-card p,.cv-card__label,.cv-card__index,.cv-contact-term,.cv-links a,.cv-document-footer{font-weight:400!important}.cv-name{margin-top:3.2mm!important;font-size:22pt!important;font-weight:600!important;line-height:1.08!important}.cv-claim{color:#1f2937!important;max-width:none!important;margin-top:3mm!important;font-size:11.2pt!important;line-height:1.48!important}.cv-summary{color:#4b5563!important;max-width:none!important;margin-top:2.5mm!important;font-size:10.55pt!important;line-height:1.52!important}.cv-hero .cv-eyebrow,.cv-panel__title{color:#6b7280!important;font-size:8.1pt!important;font-weight:500!important;line-height:1.32!important}.cv-bullets li{color:#374151!important;font-size:10.15pt!important;line-height:1.48!important}.cv-section-heading{break-inside:avoid;padding-bottom:0!important}.cv-section-heading .cv-eyebrow{display:none!important}.cv-section-heading h2{font-size:var(--cv-export-section-title-size,14pt)!important;font-weight:600!important;line-height:var(--cv-export-heading-line-height,1.18)!important;color:var(--cv-export-strong-color,#0f172a)!important;margin-top:0!important}.cv-section-heading p:last-child{font-size:var(--cv-export-section-description-size,10pt)!important;line-height:var(--cv-export-body-line-height,1.45)!important;color:var(--cv-export-muted-color,#475569)!important;margin-top:1.8mm!important}.cv-grid{gap:var(--cv-export-item-gap,10pt)!important;margin-top:var(--cv-export-content-gap,10pt)!important}.cv-subsection{margin-top:var(--cv-export-subsection-gap,18pt)!important}.cv-grid--two,.cv-subsection .cv-grid--three{gap:var(--cv-export-item-gap,10pt)!important}.cv-grid--three{grid-template-columns:1fr!important}.cv-document-page[data-render-mode=print] .cv-hero,.cv-print-root .cv-hero{align-items:start!important;column-gap:var(--cv-export-top-grid-gap,18pt)!important;row-gap:var(--cv-export-top-grid-gap,18pt)!important;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr)!important;display:grid!important}.cv-document-page[data-render-mode=print] .cv-focus-grid,.cv-document-page[data-render-mode=print] .cv-grid--two,.cv-print-root .cv-focus-grid,.cv-print-root .cv-grid--two{column-gap:var(--cv-export-item-gap,10pt)!important;row-gap:var(--cv-export-item-gap,10pt)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important}.cv-document-page[data-render-mode=print] .cv-hero__header,.cv-document-page[data-render-mode=print] .cv-panel,.cv-document-page[data-render-mode=print] .cv-focus-card--0,.cv-document-page[data-render-mode=print] .cv-focus-card--1,.cv-print-root .cv-hero__header,.cv-print-root .cv-panel,.cv-print-root .cv-focus-card--0,.cv-print-root .cv-focus-card--1{width:auto!important;min-width:0!important;max-width:none!important}.cv-contact-stack{gap:var(--cv-export-contact-gap,7pt)!important;margin-top:var(--cv-export-content-gap,10pt)!important}.cv-card{background:0 0!important;border:0!important;padding:0!important}.cv-card h3{font-size:var(--cv-export-item-title-size,11pt)!important;font-weight:600!important;line-height:var(--cv-export-item-title-line-height,1.24)!important;color:var(--cv-export-strong-color,#0f172a)!important}.cv-card p{font-size:var(--cv-export-item-body-size,10pt)!important;color:var(--cv-export-muted-color,#475569)!important;line-height:1.48!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-focus-grid{align-items:start!important;gap:0 18pt!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card{background:0 0!important;flex-direction:column!important;min-height:41.7mm!important;padding:0!important;display:flex!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card h3{color:var(--cv-export-strong-color,#0f172a)!important;margin-top:0!important;font-size:12.2pt!important;font-weight:700!important;line-height:1.24!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__body--tech-stack{font-size:var(--cv-export-item-body-size,10pt)!important;height:14.8mm!important;min-height:14.8mm!important;max-height:14.8mm!important;line-height:var(--cv-export-body-line-height,1.45)!important;color:var(--cv-export-muted-color,#475569)!important;margin-top:1.4mm!important;overflow:hidden!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__group:first-of-type{margin-top:2.9mm!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__group+.cv-card__group{margin-top:2.3mm!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__label{font-size:9.2pt!important;font-weight:400!important;line-height:var(--cv-export-body-line-height,1.45)!important;color:var(--cv-export-strong-color,#0f172a)!important;margin-top:0!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__group .cv-tags{gap:.45mm 1.4mm!important;margin-top:.7mm!important}.cv-card__label,.cv-contact-term{font-size:var(--cv-export-label-size,9.2pt)!important;color:var(--cv-export-muted-color,#475569)!important;font-weight:400!important;line-height:1.35!important}.cv-contact-term{flex:0 0 62pt;width:62pt!important;margin-right:10pt!important}.cv-tag{font-size:var(--cv-export-tag-size,9.6pt)!important;color:var(--cv-export-muted-color,#475569)!important;line-height:1.28!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-tag{letter-spacing:-.01em!important;color:var(--cv-export-muted-color,#475569)!important;font-size:9.6pt!important;line-height:1.6!important}.cv-subsection .cv-grid--three .cv-card h3{font-size:var(--cv-export-item-title-size,11pt)!important;line-height:var(--cv-export-item-title-line-height,1.24)!important;color:var(--cv-export-strong-color,#0f172a)!important;margin-top:0!important;font-weight:600!important}.cv-subsection .cv-grid--three .cv-card p:not(.cv-card__meta):not(.cv-card__impact){font-size:var(--cv-export-item-body-size,10pt)!important;color:var(--cv-export-muted-color,#475569)!important;margin-top:1.2mm!important;line-height:1.52!important}.cv-subsection .cv-grid--three .cv-card p:last-child{font-size:var(--cv-export-item-body-size,10pt)!important;line-height:var(--cv-export-body-line-height,1.45)!important;color:var(--cv-export-muted-color,#475569)!important;margin-top:1.2mm!important}.cv-links a{font-size:var(--cv-export-contact-value-size,9.8pt)!important;line-height:var(--cv-export-body-line-height,1.45)!important;color:var(--cv-export-strong-color,#0f172a)!important}.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-contact-card+.cv-contact-card{margin-top:10pt!important}.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-availability-title{margin-top:2pt!important;margin-bottom:7pt!important}.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-availability-highlight{display:inline-block;margin-top:1pt!important;margin-bottom:1pt!important}.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-contact-card p+p{margin-top:2pt!important}.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-availability-bullets,.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-availability-bullet+.cv-availability-bullet{margin-top:0!important}.cv-document-page[data-render-mode=print] .cv-page-section--contact .cv-availability-bullets+p{margin-top:1pt!important}.cv-document-page[data-render-mode=print],.cv-document-page[data-render-mode=print] .cv-section-heading h2,.cv-document-page[data-render-mode=print] .cv-subsection__title,.cv-document-page[data-render-mode=print] .cv-card h3,.cv-document-page[data-render-mode=print] .cv-availability-title,.cv-document-page[data-render-mode=print] .cv-name{color:var(--cv-export-strong-color,#0f172a)!important}.cv-document-page[data-render-mode=print] .cv-section-heading p,.cv-document-page[data-render-mode=print] .cv-card p,.cv-document-page[data-render-mode=print] .cv-availability-bullet,.cv-document-page[data-render-mode=print] .cv-tag{color:var(--cv-export-muted-color,#475569)!important}.cv-document-page[data-render-mode=print] .cv-subsection .cv-grid--three .cv-card .cv-card__meta{color:var(--cv-export-soft-muted-color,#64748b)!important}.cv-document-page[data-render-mode=print] .cv-contact-term,.cv-document-page[data-render-mode=print] .cv-panel__title,.cv-document-page[data-render-mode=print] .cv-bullets li,.cv-document-page[data-render-mode=print] .cv-contact-stack .cv-links li{color:var(--cv-export-body-color,#334155)!important}.cv-document-page[data-render-mode=print] .cv-page-section--tech-stack .cv-card__label,.cv-document-page[data-render-mode=print] .cv-links a,.cv-document-page[data-render-mode=print] .cv-contact-value,.cv-document-page[data-render-mode=print] .cv-earlier-projects__item a{color:var(--cv-export-strong-color,#0f172a)!important}.cv-document-page[data-render-mode=print] .cv-document-footer,.cv-document-page[data-render-mode=print] .cv-document-footer__separator,.cv-document-page[data-render-mode=print] .cv-availability-bullet__mark,.cv-document-page[data-render-mode=print] .cv-earlier-projects__bullet{color:var(--cv-export-soft-muted-color,#64748b)!important}.cv-document-footer{font-size:var(--cv-export-footer-size,8.5pt)!important;color:var(--cv-export-soft-muted-color,#64748b)!important;line-height:1.35!important}.cv-panel{background:0 0!important;border:0!important;padding:0!important}.cv-sheet--page-break{break-before:page;page-break-before:always;padding-top:7mm!important}.cv-tags{gap:2.1mm 2.5mm!important}.cv-tag{white-space:nowrap;background:0 0!important;border:0!important;padding:0!important}.cv-links li+li{margin-top:1.4mm!important}.cv-document-footer{color:#4b5563!important;width:100%!important;margin-top:11mm!important}.page-load-fade,.page-load-fade--ready,.section-reveal,.section-reveal--dimmed,.section-reveal--visible{opacity:1!important;transition:none!important}.page-shell{max-width:none;padding-left:0;padding-right:0}.section-spacing{padding-top:4mm;padding-bottom:4.5mm}.card-surface,.section-block,.rounded-2xl,.rounded-3xl{border-radius:0!important}.card-surface,.section-block,.bg-app,.bg-app-elevated,.bg-surface,.bg-surface-strong,.bg-accent-soft{box-shadow:none!important;background:#fff!important}.card-surface,.section-block{border-color:#11182729!important}.section-divider{border-top-color:#1118272e!important}.text-white,.text-slate-100,.text-slate-300,.text-text-soft,.text-text-muted,.text-accent{color:#111827!important}a,a:visited{text-decoration:none;color:#111827!important}main{padding-bottom:0!important}footer{break-inside:avoid;color:#4b5563!important;padding:4mm 0 0!important}.screen-only{display:none!important}.focus-ring,.focus-ring:hover,.focus-ring:focus-visible{box-shadow:none!important;outline:none!important}.min-h-screen{min-height:auto!important}.overflow-hidden,.overflow-x-clip{overflow:visible!important}.border-accent-line,.border-border-subtle,.border-border-strong{border-color:#11182729!important}.page-load-fade>.section-reveal>section,section{break-inside:auto}section article,section li,.section-block,.card-surface{break-inside:avoid;page-break-inside:avoid}#specializations,#tech-stack,#contact{scroll-margin-top:0!important}section>.page-shell>.card-surface,section>.page-shell>.section-block{border-bottom:0!important;border-left:0!important;border-right:0!important;padding:0!important}section>.page-shell>.section-block{padding-top:3mm!important}h1{letter-spacing:-.02em!important;font-size:20pt!important;line-height:1.05!important}h2{margin-top:0!important;font-size:15pt!important;line-height:1.2!important}h3{font-size:11.5pt!important;line-height:1.25!important}p,li,span{line-height:1.45!important}header>p:first-child{letter-spacing:0!important;margin-top:0!important;font-size:8pt!important}.grid{gap:3.2mm!important}.print-page-break{break-before:page!important;page-break-before:always!important}.print-keep-together{break-inside:avoid!important;page-break-inside:avoid!important}.print-break-auto{break-inside:auto!important;page-break-inside:auto!important}.print-single-column{grid-template-columns:minmax(0,1fr)!important}.print-two-column{grid-template-columns:repeat(2,minmax(0,1fr))!important}.print-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.82fr)!important;align-items:start!important;gap:4mm!important}.space-y-3>:not([hidden])~:not([hidden]){margin-top:2.2mm!important}.space-y-4>:not([hidden])~:not([hidden]){margin-top:2.4mm!important}.space-y-5>:not([hidden])~:not([hidden]){margin-top:2.8mm!important}section .mt-8,section .sm\:mt-10{margin-top:3.5mm!important}#main-content>section:first-of-type{padding-top:0!important;padding-bottom:4mm!important}#main-content>section:first-of-type .card-surface{border-top:0!important}#main-content>section:first-of-type .print-hero-grid{align-items:start!important;padding:0 0 2.5mm!important}#main-content>section:first-of-type .max-w-3xl{max-width:none!important}.hero-role{margin-top:0!important}.hero-name{margin-top:3.2mm!important}.hero-claim{max-width:none!important;margin-top:3.2mm!important}.hero-summary{max-width:none!important;margin-top:2.6mm!important}#main-content>section:first-of-type .mt-7,#main-content>section:first-of-type .sm\:mt-9,#main-content>section:first-of-type .sm\:mt-10{margin-top:0!important}#main-content>section:first-of-type a[href^=http],#main-content>section:first-of-type a[href^=\#],#main-content>section:first-of-type a[href$=\.pdf]{display:none!important}#main-content>section:first-of-type ul{margin-top:2.5mm!important}#main-content>section:first-of-type aside{background:#fff!important;border:1px solid #11182724!important;padding:3mm!important}#tech-stack .section-block,#contact .section-block,#specializations .section-block{padding-top:2.5mm!important;padding-bottom:0!important}#contact .focus-ring,#contact .text-accent{color:#111827!important}#contact a .text-sm:last-child{display:none!important}#contact a{background:#fff!important;min-height:0!important;padding:3mm 3.5mm!important}.sr-only{display:none!important}}@media screen and (width<=920px){.page-return-control{right:calc(var(--page-frame-inset) + var(--section-frame-inset));bottom:calc(28px + env(safe-area-inset-bottom,0px));border-radius:13px;width:44px;height:44px}.cv-document-page{padding:1rem}.cv-hero,.cv-grid--two,.cv-grid--three{grid-template-columns:1fr}.cv-document-page[data-render-mode=pdf]{width:max-content;min-width:210mm;padding:0}.cv-document-page[data-render-mode=pdf] .cv-document{width:210mm}.cv-document-page[data-render-mode=pdf] .cv-hero{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr)}.cv-document-page[data-render-mode=pdf] .cv-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-document-page[data-render-mode=pdf] .cv-grid--three{grid-template-columns:1fr}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.cv-document-page{color:#111827;min-height:100vh;font-family:"CvSans", var(--font-sans);background:#edf1f6;padding:1.5rem}.cv-document{width:min(100%, var(--cv-export-page-width,210mm));margin:0 auto}.cv-sheet{padding:var(--cv-export-page-padding-top,30pt) var(--cv-export-page-padding-horizontal,34pt);background:#fff}.cv-sheet+.cv-sheet{margin-top:1rem}.cv-sheet--first{padding-top:var(--cv-export-sheet-padding-top-first,1.35rem);padding-bottom:var(--cv-export-sheet-padding-bottom-first,1.2rem)}.cv-hero{gap:var(--cv-export-top-grid-gap,18pt);grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr);align-items:start;display:grid}.cv-eyebrow{font-size:var(--cv-export-role-size,9.4pt);letter-spacing:.01em;color:var(--cv-export-muted-color,#475569);margin:0;font-weight:625}.cv-name{font-size:var(--cv-export-name-size,23pt);line-height:var(--cv-export-name-line-height,1.1);letter-spacing:-.035em;color:var(--cv-export-strong-color,#0f172a);margin:.82rem 0 0}.cv-claim{max-width:42rem;font-size:var(--cv-export-headline-size,11.5pt);line-height:var(--cv-export-headline-line-height,1.42);color:#18212d;margin:1rem 0 0}.cv-summary{max-width:44rem;font-size:var(--cv-export-summary-size,10.4pt);line-height:var(--cv-export-body-line-height,1.45);color:var(--cv-export-muted-color,#475569);margin:.85rem 0 0}.cv-panel{background:0 0;border:0;border-top:1px solid #0f172a14;padding:.72rem 0 0}.cv-panel__title{font-size:var(--cv-export-label-size,9.2pt);letter-spacing:.01em;color:var(--cv-export-body-color,#334155);margin:0;font-weight:600}.cv-bullets{margin:.58rem 0 0;padding:0;list-style:none}.cv-bullets li{font-size:var(--cv-export-tag-size,9.6pt);line-height:var(--cv-export-body-line-height,1.45);color:var(--cv-export-body-color,#334155);margin-top:.46rem;padding-left:.95rem;position:relative}.cv-bullets li:before{content:"•";color:#64748b;position:absolute;top:0;left:0}.cv-section-heading{border-bottom:0;padding-bottom:0}.cv-section-heading h2{font-size:var(--cv-export-section-title-size,14pt);line-height:var(--cv-export-heading-line-height,1.18);letter-spacing:-.025em;color:var(--cv-export-strong-color,#0f172a);margin:.44rem 0 0}.cv-section-heading p:last-child{max-width:48rem;font-size:var(--cv-export-section-description-size,10pt);line-height:var(--cv-export-body-line-height,1.45);color:var(--cv-export-muted-color,#475569);margin:.58rem 0 0}.cv-page-section--selected-projects .cv-section-heading h2{font-size:15.2pt;font-weight:700;line-height:1.14}.cv-page-section--selected-projects .cv-section-heading p:last-child{margin-top:.66rem;margin-bottom:.12rem}.cv-subsection{margin-top:calc(var(--cv-export-subsection-gap,18pt) + 4pt)}.cv-grid{gap:var(--cv-export-item-gap,10pt);margin-top:var(--cv-export-content-gap,10pt);display:grid}.cv-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-contact-stack{gap:var(--cv-export-contact-gap,7pt);margin-top:var(--cv-export-content-gap,10pt);display:grid}.cv-contact-layout{gap:var(--cv-export-content-gap,10pt);margin-top:var(--cv-export-content-gap,10pt);align-items:start;display:grid}.cv-contact-layout .cv-contact-stack{margin-top:0}.cv-contact-top{grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.cv-contact-top--with-qr{grid-template-columns:400pt 84pt;justify-content:start;column-gap:8pt;width:492pt;max-width:492pt}.cv-contact-top .cv-contact-stack{width:400pt;max-width:400pt}.cv-contact-top .cv-contact-card{max-width:100%}.cv-card{break-inside:avoid;background:#fff;border:1px solid #0f172a1a;padding:.92rem 1rem}.cv-card h3{font-size:var(--cv-export-item-title-size,11pt);line-height:var(--cv-export-item-title-line-height,1.24);color:var(--cv-export-strong-color,#0f172a);margin:0}.cv-card p{font-size:var(--cv-export-item-body-size,10pt);line-height:var(--cv-export-body-line-height,1.45);color:var(--cv-export-muted-color,#475569);margin:.58rem 0 0}.cv-card__label,.cv-card__index{letter-spacing:0;font-weight:600;font-size:var(--cv-export-label-size,9.2pt)!important;color:var(--cv-export-muted-color,#475569)!important;margin:0!important}.cv-subsection__title{color:var(--cv-export-strong-color,#0f172a)!important;margin:0!important;font-size:12.2pt!important;font-weight:700!important;line-height:1.24!important}.cv-card__group+.cv-card__group{margin-top:.62rem}.cv-card__group .cv-tags{margin-top:.16rem}.cv-card__meta{font-size:var(--cv-export-tag-size,9.6pt)!important;color:var(--cv-export-muted-color,#475569)!important;margin-top:.42rem!important;line-height:1.35!important}.cv-subsection .cv-grid--three .cv-card .cv-card__meta{color:var(--cv-export-soft-muted-color,#64748b)!important;margin-top:.28rem!important;font-size:8.8pt!important;line-height:1.28!important}.cv-card__impact{border-left:1pt solid #64748b;padding-left:.45rem;color:var(--cv-export-strong-color,#0f172a)!important;margin-top:.62rem!important;font-weight:500!important}.cv-tags{flex-wrap:wrap;gap:.24rem .38rem;display:flex}.cv-tag{font-size:var(--cv-export-tag-size,9.6pt);color:var(--cv-export-muted-color,#475569);background:#f7f8fb;border:0;padding:.14rem .32rem;line-height:1.22}.cv-contact-card{padding-top:1rem;padding-bottom:1rem}.cv-vcard-frame{border:1px solid var(--cv-export-soft-muted-color,#64748b);background:0 0;justify-content:center;place-self:center start;align-items:center;width:84pt;min-height:84pt;margin-top:4pt;padding:6pt 3pt 3pt;display:flex;position:relative}.cv-vcard-frame__label{color:var(--cv-export-body-color,#334155);background:#fff;padding:0 4pt;font-size:8.6pt;line-height:1;position:absolute;top:calc(-.8em - 1px);left:10pt}.cv-vcard-frame__code{justify-content:center;align-items:center;width:74pt;height:74pt;display:flex}.cv-vcard-frame__code svg{width:74pt;height:74pt;display:block}.cv-links{margin:.22rem 0 0;padding:0;list-style:none}.cv-links li+li{margin-top:.58rem}.cv-links li{flex-wrap:nowrap;align-items:flex-start;gap:0;display:flex}.cv-links a{color:var(--cv-export-strong-color,#0f172a);font-size:var(--cv-export-contact-value-size,9.8pt);line-height:var(--cv-export-body-line-height,1.45);text-decoration:none}.cv-contact-value{flex:auto;min-width:0}.cv-availability-title{color:var(--cv-export-strong-color,#0f172a)!important;font-size:12.2pt!important;font-weight:700!important;line-height:1.24!important}.cv-availability-highlight{color:var(--cv-export-strong-color,#0f172a)!important;font-weight:500!important}.cv-availability-bullets{margin:0;padding:0;list-style:none}.cv-availability-bullet{color:var(--cv-export-muted-color,#475569);align-items:center;font-size:9.9pt;line-height:1.3;display:flex}.cv-availability-bullet__mark{color:#64748b;flex:0 0 8pt;width:8pt;margin-right:2pt}.cv-links a:hover{text-decoration:underline}.cv-earlier-projects{margin-top:.7rem}.cv-earlier-projects__list{margin:0;padding:0;list-style:none}.cv-earlier-projects__item{font-size:var(--cv-export-item-body-size,10pt);line-height:var(--cv-export-body-line-height,1.45);color:var(--cv-export-muted-color,#475569);align-items:flex-start;gap:.6rem;display:flex}.cv-earlier-projects__item+.cv-earlier-projects__item{margin-top:.28rem}.cv-earlier-projects__bullet{color:#64748b;flex:none}.cv-earlier-projects__item a{color:var(--cv-export-strong-color,#0f172a);text-decoration:none}.cv-earlier-projects__link-line{white-space:nowrap}.cv-earlier-projects__item a:hover{text-decoration:underline}.cv-document-footer{width:min(100%, var(--cv-export-page-width,210mm));color:var(--cv-export-soft-muted-color,#64748b);font-size:var(--cv-export-footer-size,8.5pt);text-align:center;margin:.7rem auto 0}.cv-document-footer p{margin:0}.cv-document-footer__row{flex-wrap:wrap;justify-content:center;align-items:center;gap:0;display:flex}.cv-document-footer__separator{color:#94a3b8e6;opacity:.85;margin:0 6px;font-size:1em;font-weight:600;line-height:1;display:inline-block}.cv-contact-term{font-weight:600;font-size:var(--cv-export-label-size,9.2pt)!important;letter-spacing:0!important;text-transform:none!important;color:var(--cv-export-body-color,#334155)!important;margin:0!important}.cv-export-page>*+.cv-page-section,.cv-export-page>*+.cv-document-footer--page{margin-top:var(--cv-export-section-gap,18pt)}.cv-document-footer--page{width:100%;margin-left:0;margin-right:0}
