:root{--container:1180px;--color-bg:#fff;--color-surface:#fff;--color-surface-muted:#fafbfc;--color-text:#071024;--color-text-muted:#4b5870;--color-text-soft:#6b7280;--color-border:#d9dee7;--color-border-soft:#edf0f4;--color-primary:#0b1b3a;--color-primary-hover:#102952;--color-primary-soft:#eef3ff;--color-accent:#1f3a93;--color-accent-hover:#172d73;--color-dark:#071024;--color-dark-muted:#101c35;--color-tag-bg:#f1f4f8;--color-tag-text:#263348;--shadow-card:0 1px 2px #07102408, 0 12px 28px #07102409;--shadow-button:0 10px 18px #0710242e;--hero-title-size:clamp(3rem, 4.45vw, 4.25rem);--hero-title-size-mobile:clamp(2.45rem, 12vw, 3.65rem);--hero-title-weight:850;--heading-letter-spacing:-.035em;--kicker-letter-spacing:.025em;--lead-text-color:#53617a;--lead-text-size:clamp(1rem, 1.2vw, 1.12rem);--lead-text-weight:560;--lead-line-height:1.6;--font-sans:Inter, Geist, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3.25rem;--text-5xl:2.85rem;--leading-tight:.98;--leading-snug:1.15;--leading-normal:1.55;--space-section:clamp(4.25rem, 7vw, 6.5rem);--space-section-tight:clamp(3.25rem, 6vw, 5rem)}html{background:var(--color-bg);color:var(--color-text);scroll-behavior:smooth}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizelegibility;margin:0}*{box-sizing:border-box}:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd){margin:0}:where(ul,ol){margin:0;padding:0}:where(img,svg){display:block}img{max-width:100%;height:auto}::selection{background:var(--color-primary-soft);color:var(--color-primary)}a{color:inherit;text-underline-offset:.2em;text-decoration:none;transition:color .16s,border-color .16s,background-color .16s,box-shadow .16s,transform .16s}button{font:inherit}:focus-visible{outline-offset:4px;border-radius:6px;outline:3px solid #1f3a9359}.container{width:min(100% - 48px, var(--container));margin-inline:auto}.site-shell-container{width:min(100% - 128px,1328px)}.section{padding-block:var(--space-section)}.page-header{max-width:760px}.hero-title{font-size:var(--hero-title-size);font-weight:var(--hero-title-weight);letter-spacing:-.055em;text-wrap:balance;line-height:.96}.page-eyebrow,.section-eyebrow{color:var(--color-accent);font-size:var(--text-sm);letter-spacing:var(--kicker-letter-spacing);text-transform:uppercase;margin:0 0 1.15rem;font-weight:850;line-height:1}.page-title{color:var(--color-text);margin:0}.page-description{max-width:720px;color:var(--lead-text-color);font-size:var(--lead-text-size);font-weight:var(--lead-text-weight);line-height:var(--lead-line-height);margin:1.45rem 0 0}.section-title,.card-title{color:var(--color-text);letter-spacing:var(--heading-letter-spacing);text-wrap:balance;margin:0;font-weight:850;line-height:1.08}.section-title{font-size:var(--text-3xl)}.card-title{font-size:var(--text-xl)}.body-copy{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--lead-text-weight);line-height:1.55}.hero-section{padding-block:clamp(1.8rem,2.2vw,2.25rem) clamp(.6rem,.9vw,.85rem)}.home-hero-grid{align-items:start;gap:3.5rem;display:grid}.home-hero-title{max-width:760px;color:var(--color-text)}.home-hero-description{max-width:620px}.home-hero-actions,.home-contact-actions{flex-wrap:wrap;gap:.75rem;display:flex}.home-hero-actions{align-items:center;gap:2rem;margin-top:1.5rem}.home-credibility-panel{border-left:1px solid var(--color-border);padding-left:3.5rem}.home-summary-copy{max-width:560px;color:var(--color-text)}.home-fact-list{gap:1.25rem;margin-top:1.75rem;display:grid}.home-fact-row{grid-template-columns:24px 88px minmax(0,1fr);align-items:center;gap:1rem;display:grid}.home-fact-row svg{color:var(--color-text)}.home-fact-label,.home-fact-value{color:var(--color-text);font-size:var(--text-sm)}.home-fact-label{font-weight:700}.home-fact-value{font-weight:500;line-height:1.5rem}.home-social-link{color:var(--color-text);font-size:var(--text-md);font-weight:var(--lead-text-weight);align-items:center;gap:.5rem;line-height:1;display:inline-flex}.home-social-link:hover{color:var(--color-accent)}.home-project-title{font-size:var(--text-md)}.home-project-grid{gap:1.25rem;margin-top:1rem;display:grid}.home-project-summary{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.375rem;display:-webkit-box;overflow:hidden}.home-project-proof{border-left:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-xs);margin-top:.5rem;padding-left:.75rem;font-weight:600;line-height:1.25rem}.home-project-tags{margin-top:.625rem}.home-project-link{color:var(--color-accent);font-size:var(--text-sm);align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;font-weight:700;line-height:1;display:inline-flex}.home-project-link:hover{color:var(--color-accent-hover)}.home-project-card{border:1px solid var(--color-border);min-height:190px;box-shadow:var(--shadow-card);background:#fff;border-radius:6px;flex-direction:column;padding:.95rem;transition:border-color .16s,transform .16s;display:flex}.home-project-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.home-project-card-header{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:.9rem;display:grid}.open-source-band{border-top:1px solid var(--color-border);background:var(--color-surface-muted);padding-block:clamp(2.6rem,6vw,4.75rem)}.open-source-header{max-width:58rem}.open-source-grid{gap:1rem;margin-top:2rem;display:grid}.open-source-card{border:1px solid var(--color-border);min-height:176px;box-shadow:var(--shadow-card);background:#fff;border-radius:6px;flex-direction:column;padding:1.15rem;display:flex}.open-source-card-header{grid-template-columns:minmax(0,1fr) 38px;align-items:start;gap:.9rem;display:grid}.open-source-status{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem;font-weight:750;line-height:1}.open-source-title{font-size:var(--text-md)}.open-source-link{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-accent);border-radius:6px;place-items:center;display:inline-grid}.open-source-link:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.open-source-summary{margin-top:.75rem}.home-focus-grid{gap:1rem;margin-top:2.5rem;display:grid}.home-focus-card{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;padding:1.5rem}.home-focus-tags{margin-top:1.25rem}.home-experience-grid,.home-contact-grid{display:grid}.home-experience-grid{gap:2.5rem}.home-experience-list{gap:1.25rem;display:grid}.home-experience-item{border-left:1px solid var(--color-border);padding-left:1.5rem}.home-experience-copy{margin-top:.5rem}.home-contact-grid{gap:2rem}.home-contact-description{max-width:42rem}.home-contact-actions{margin-top:1.75rem}.section-heading{max-width:48rem}.section-heading .section-eyebrow{color:var(--color-text-muted)}.section-heading-description{margin-top:1rem}@media (min-width:768px){.home-project-grid,.open-source-grid,.home-focus-grid,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.home-hero-grid{grid-template-columns:minmax(0,1.22fr) minmax(430px,.78fr)}.home-experience-grid{grid-template-columns:.7fr 1fr}.home-contact-grid{grid-template-columns:.85fr 1fr}}@media (min-width:1280px){.home-project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.open-source-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.section-tight{padding-block:var(--space-section-tight)}.muted-band{background:var(--color-surface-muted);border-block:1px solid var(--color-border-soft)}.work-band{border-top:1px solid var(--color-border);background:#fff;padding-block:clamp(.85rem,1.2vw,1rem) clamp(.9rem,1.35vw,1.15rem);scroll-margin-top:64px}.work-band-header{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.work-band .section-eyebrow{color:var(--color-text);margin:0}.section-text-link,.case-back-link,.case-evidence-link{color:var(--color-accent);font-size:var(--text-sm);align-items:center;gap:.5rem;line-height:1;display:inline-flex}.section-text-link{font-weight:500}.case-back-link,.case-evidence-link{font-weight:700}.section-text-link:hover,.case-back-link:hover,.case-evidence-link:hover{color:var(--color-accent-hover)}.proof-band{background:var(--color-dark);color:#fff;padding-block:clamp(.55rem,1vw,.75rem)}.proof-grid{gap:0;display:grid}.proof-label{color:#ffffffd1;font-size:var(--text-xs)}.proof-value{color:#fff;font-size:var(--text-sm);margin-top:.125rem;font-weight:700}.proof-item{color:#fff;grid-template-columns:34px 1fr;align-items:center;gap:.9rem;min-height:44px;padding-inline:clamp(.75rem,2vw,1.5rem);display:grid}.proof-item+.proof-item{border-left:1px solid #fff3}.text-balance{text-wrap:balance}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4rem;display:flex}.site-brand-link{min-width:0;color:var(--color-text);align-items:center;gap:1.5rem;font-weight:600;display:flex}.site-logo-mark{object-fit:contain;flex:none;width:50px;height:auto;display:block}.site-brand-name{color:var(--color-text);font-size:var(--text-sm);letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:700;overflow:hidden}.site-primary-nav,.site-nav-list{align-items:center;display:flex}.site-primary-nav{gap:1.75rem}.site-nav-list{gap:1.25rem;list-style:none}.nav-link{min-height:64px;color:var(--color-text);font-size:var(--text-sm);align-items:center;font-weight:650;line-height:1;display:inline-flex;position:relative}.nav-link:after{background:var(--color-accent);opacity:0;content:"";border-radius:999px 999px 0 0;height:3px;transition:opacity .16s,transform .16s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(.58)}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-accent)}.nav-link[aria-current=page]:after{opacity:1;transform:scaleX(1)}.avoid-break{break-inside:avoid;page-break-inside:avoid}.link{color:var(--color-accent);font-weight:650;-webkit-text-decoration:underline #1f3a9347;text-decoration:underline #1f3a9347}.link:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}.button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;min-height:40px;font-size:var(--text-sm);box-shadow:var(--shadow-button);border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.68rem 1rem;font-weight:700;line-height:1;display:inline-flex}.button-compact{min-height:40px;padding-inline:1.1rem}.button:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.button-secondary{background:var(--color-surface);color:var(--color-primary);box-shadow:none}.button-secondary:hover{background:var(--color-primary-soft)}.tech-tag-list{flex-wrap:wrap;gap:.375rem;list-style:none;display:flex}.tech-tag{background:var(--color-tag-bg);min-height:26px;color:var(--color-tag-text);font-size:var(--text-xs);border:1px solid #0000;border-radius:6px;align-items:center;gap:.38rem;padding:.22rem .48rem;font-weight:700;line-height:1.1;display:inline-flex}.tech-icon{--tech-color:var(--color-accent);width:1.05rem;height:1.05rem;color:var(--tech-color);flex:0 0 1.05rem;place-items:center;display:inline-grid}.tech-icon svg{width:100%;height:100%;display:block}.tech-icon-asset img{object-fit:contain;width:100%;height:100%;display:block}.tech-icon-monogram{border:1px solid color-mix(in srgb, var(--tech-color) 34%, white);background:color-mix(in srgb, var(--tech-color) 13%, white);width:1.25rem;height:1.05rem;color:var(--tech-color);border-radius:4px;font-size:.5rem;font-weight:850;line-height:1}.project-logo{background:linear-gradient(145deg,#fff 0%,#eef5ff 100%);border:1px solid #dae4f3f2;border-radius:12px;flex:none;place-items:center;width:48px;height:48px;display:inline-grid;overflow:hidden;box-shadow:0 10px 22px #2353aa1f}.project-logo-image{object-fit:contain;width:76%;height:76%;display:block}.project-logo-home{border-radius:10px;justify-self:end;width:44px;height:44px}.project-logo-large{border-radius:18px;width:106px;height:106px}.project-logo-resume{border-radius:50%;width:54px;height:54px}.project-logo-large .project-logo-image{width:70%;height:70%}.project-detail-hero-section{padding-block:clamp(2.35rem,4.2vw,3.5rem) clamp(2.2rem,3.8vw,3.25rem)}.project-detail-header{grid-template-columns:minmax(0,52rem) auto;justify-content:space-between;align-items:start;gap:clamp(1.25rem,4vw,3rem);max-width:none;display:grid}.project-detail-logo{margin-top:.2rem}.project-detail-eyebrow{color:var(--color-text-muted)}.case-back-link{margin-bottom:1.35rem}.case-metadata-grid{gap:.75rem;margin-top:2rem;display:grid}.case-metadata-card{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;padding:1rem}.case-metadata-label{color:var(--color-text-soft);font-size:var(--text-xs);text-transform:uppercase;font-weight:700;line-height:1}.case-metadata-value{color:var(--color-text);font-size:var(--text-sm);margin-top:.45rem;font-weight:600;line-height:1.5rem}.case-body-section{padding-block:clamp(2.1rem,4vw,3.1rem) clamp(2.75rem,5vw,4.25rem)}.case-study-layout{gap:clamp(1.5rem,3vw,2.25rem);display:grid}.case-study-nav-list{color:var(--color-text-muted);font-size:var(--text-sm);gap:.5rem;font-weight:600;list-style:none;display:grid;position:sticky;top:6rem}.case-study-nav-list a:hover{color:var(--color-accent)}.case-study-content{gap:1rem;display:grid}.case-evidence-list,.case-bullet-list{gap:.75rem;list-style:none;display:grid}.case-evidence-link{line-height:1.35}.case-section{border-left:1px solid var(--color-border);font-size:var(--text-md);gap:.75rem;padding:.75rem 0 .75rem 1.25rem;display:grid}.case-section .card-title{margin-bottom:0}.case-bullet-list li{padding-left:1rem}.case-bullet-list li:before{content:"-";margin-right:.75rem}@media (min-width:768px){.case-metadata-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr) minmax(0,.95fr)}}@media (min-width:1024px){.case-study-layout{grid-template-columns:220px minmax(0,1fr)}.case-section{grid-template-columns:minmax(9rem,.28fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2rem)}}@media (max-width:1023px){.case-study-layout,.case-study-layout>nav,.case-study-content{min-width:0}.case-study-nav-list{gap:.5rem;width:100%;min-width:0;max-width:100%;padding-bottom:.35rem;display:flex;position:static;overflow-x:auto}.case-study-nav-list li{flex:none}.case-study-nav-list a{border:1px solid var(--color-border);white-space:nowrap;background:#fff;border-radius:6px;align-items:center;min-height:34px;padding:.42rem .62rem;display:inline-flex}}.site-footer{border-top:1px solid var(--color-border-soft);background:#fff}.site-footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2rem;display:flex}.site-footer-name{color:var(--color-text);font-size:var(--text-sm);font-weight:600}.site-footer-email{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:.25rem;display:inline-flex}.site-footer-email:hover{color:var(--color-accent)}.site-footer-links{flex-wrap:wrap;gap:.25rem;list-style:none;display:flex}.footer-link{color:var(--color-text-muted);font-size:var(--text-sm);border-radius:6px;align-items:center;gap:.5rem;padding:.58rem .72rem;font-weight:700;line-height:1;display:inline-flex}.footer-link:hover{background:var(--color-primary-soft);color:var(--color-primary)}@media (max-width:1024px){.home-credibility-panel{border-top:1px solid var(--color-border);border-left:0;padding-top:2rem;padding-left:0}}@media (max-width:760px){.site-primary-nav,.site-nav-list{gap:.75rem}}@media (max-width:720px){.site-footer-inner{flex-direction:column;align-items:flex-start}.home-fact-list{gap:1rem}}@media (max-width:620px){.site-brand-name{display:none}}@media (max-width:560px){.home-fact-row{grid-template-columns:24px minmax(0,1fr);row-gap:.25rem}.home-fact-value{grid-column:2}}@media (max-width:520px){.home-hero-actions,.home-contact-actions{flex-direction:column;align-items:stretch}.home-hero-actions .button,.home-contact-actions .button{width:100%}.home-social-link{justify-content:center}}.about-page{--about-blue:#1c64f2;--about-blue-dark:#123f9b;--about-blue-soft:#eef4ff;--about-card-border:#dbe3ef;--about-card-shadow:0 16px 44px #0710240b;background:#fff}.about-section{padding-block:2.35rem 2.05rem}.about-container{width:min(100% - 128px,1328px)}.about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.44fr);align-items:start;gap:clamp(2rem,4.8vw,4.5rem);display:grid}.about-hero-copy{min-width:0}.about-page .page-header{max-width:780px}.about-page .page-eyebrow{color:var(--about-blue)}.about-chip-list{flex-wrap:wrap;gap:.65rem;margin:2.15rem 0 0;padding:0;list-style:none;display:flex}.about-chip{border:1px solid var(--about-card-border);color:#182640;background:#fffffff0;border-radius:7px;align-items:center;gap:.5rem;min-height:40px;padding:.58rem .72rem;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 2px #07102406}.about-chip svg{color:var(--about-blue);flex:none}.about-focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.05rem;display:grid}.about-card,.about-profile-card,.about-value-card{border:1px solid var(--about-card-border);box-shadow:var(--about-card-shadow);background:#fff;border-radius:8px}.about-card{min-width:0;min-height:210px;padding:1.2rem 1.2rem 1.05rem}.about-icon-badge,.about-summary-icon{background:linear-gradient(145deg, #f7faff 0%, var(--about-blue-soft) 100%);color:var(--about-blue);border:1px solid #e4ebf6;place-items:center;display:inline-grid}.about-icon-badge{border-radius:50%;width:50px;height:50px}.about-card h2{color:var(--color-text);font-size:var(--text-lg);letter-spacing:var(--heading-letter-spacing);margin:1.15rem 0 0;font-weight:850;line-height:1.08}.about-card-rule{background:var(--about-blue);border-radius:999px;width:28px;height:2px;margin-top:.78rem;display:block}.about-card p{color:#465570;font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:.9rem 0 0;line-height:1.55}.about-profile-card{margin-top:-1.1rem;padding:.72rem;overflow:hidden}.about-portrait-frame{background:var(--about-blue-soft);border-radius:6px;margin:0;overflow:hidden}.about-portrait{aspect-ratio:1.18;object-fit:cover;width:100%;height:auto;display:block}.about-profile-summary{margin-top:.7rem;display:grid}.about-summary-row{grid-template-columns:50px minmax(0,1fr);align-items:start;gap:1rem;padding:.98rem .35rem;display:grid}.about-summary-row+.about-summary-row{border-top:1px solid var(--about-card-border)}.about-summary-icon{border-radius:8px;width:42px;height:42px}.about-summary-row h3{color:var(--color-text);font-size:var(--text-sm);letter-spacing:var(--heading-letter-spacing);margin:0;font-weight:850;line-height:1.08}.about-summary-row p{color:#465570;font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:.35rem 0 0;line-height:1.55}.about-values-section{margin-top:1.35rem}.about-values-section h2{color:var(--color-text);font-size:var(--text-xl);letter-spacing:var(--heading-letter-spacing);margin:0 0 .75rem;font-weight:850;line-height:1.08}.about-values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.about-value-card{grid-template-columns:60px minmax(0,1fr);align-items:center;gap:1.05rem;min-width:0;min-height:88px;padding:.95rem 1.25rem;display:grid}.about-value-card h3{color:var(--color-text);font-size:var(--text-base);letter-spacing:var(--heading-letter-spacing);margin:0;font-weight:850;line-height:1.08}.about-value-card p{color:#465570;font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:.35rem 0 0;line-height:1.55}.about-cta-row{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.3rem;display:flex}.about-cta,.about-cta-primary{min-width:132px;min-height:44px;padding-inline:1.35rem}@media (max-width:1120px){.about-container,.site-shell-container{width:min(100% - 48px, var(--container))}.about-hero-grid{grid-template-columns:1fr;gap:2rem}.about-profile-card{max-width:560px;margin-top:0}}@media (max-width:880px){.hero-title{font-size:var(--hero-title-size-mobile);line-height:1}.about-focus-grid,.about-values-grid{grid-template-columns:1fr}.about-card{min-height:0}}@media (max-width:560px){.page-description{font-size:var(--text-base);line-height:1.65}.nav-link{min-height:56px}.about-container,.site-shell-container{width:min(100% - 32px, var(--container))}.about-section{padding-block:2.4rem}.about-chip-list{gap:.55rem}.about-chip{width:100%}.about-value-card,.about-summary-row{grid-template-columns:46px minmax(0,1fr)}.about-icon-badge{width:44px;height:44px}.about-summary-icon{width:38px;height:38px}.about-cta-row{flex-direction:column}.about-cta,.about-cta-primary{width:100%}}.resume-page{--resume-blue:#1f59d1;--resume-blue-dark:#163f9f;--resume-blue-soft:#eef4ff;--resume-card-border:#d6deea;--resume-card-shadow:0 14px 36px #0f172a0b;background:#fff}.resume-hero-section{padding-block:4.25rem 4.5rem}.resume-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.9fr);align-items:center;gap:4.25rem;display:grid}.resume-hero-copy{max-width:670px}.resume-section-kicker{color:var(--resume-blue);font-size:var(--text-sm);letter-spacing:var(--kicker-letter-spacing);text-transform:uppercase;margin:0 0 1.25rem;font-weight:850;line-height:1}.resume-hero-copy h1{color:var(--color-text);margin:0}.resume-role{color:var(--color-text);font-size:var(--text-xl);letter-spacing:var(--heading-letter-spacing);margin:1.4rem 0 0;font-weight:850;line-height:1.08}.resume-summary{max-width:640px;color:var(--lead-text-color);font-size:var(--lead-text-size);font-weight:var(--lead-text-weight);line-height:var(--lead-line-height);margin:1.65rem 0 0}.resume-cta-row{flex-wrap:wrap;gap:.9rem;margin-top:2.2rem;display:flex}.resume-cta{min-height:44px;padding-inline:1.08rem}.resume-facts-card{border:1px solid var(--resume-card-border);box-shadow:var(--resume-card-shadow);background:#fff;border-radius:8px;gap:1.5rem;padding:2.1rem 2.3rem;display:grid}.resume-fact-row{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.resume-icon-badge{background:var(--resume-blue-soft);width:42px;height:42px;color:var(--resume-blue-dark);border-radius:50%;place-items:center;display:inline-grid}.resume-icon-badge svg{stroke-width:2.15px;width:21px;height:21px}.resume-fact-row h2{color:var(--color-text);font-size:var(--text-base);letter-spacing:var(--heading-letter-spacing);margin:0 0 .35rem;font-weight:850;line-height:1.08}.resume-fact-row p{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:0;line-height:1.55}.resume-fact-row .tech-tag-list{gap:.32rem}.resume-fact-row .tech-tag{min-height:24px;padding:.18rem .42rem}.resume-body-section{padding-block:3.15rem 3.9rem}.resume-section{margin-bottom:3.7rem}.resume-section:last-child{margin-bottom:0}.resume-section>h2{color:var(--resume-blue);font-size:var(--text-base);letter-spacing:var(--kicker-letter-spacing);text-transform:uppercase;margin:0 0 1.55rem;font-weight:850;line-height:1}.resume-experience-list{gap:1.25rem;display:grid}.resume-experience-card{border:1px solid var(--resume-card-border);min-height:390px;box-shadow:var(--resume-card-shadow);background:#fff;border-radius:8px;grid-template-columns:34px minmax(140px,190px) minmax(0,1fr);gap:1.75rem;padding:2.05rem 2.15rem;display:grid}.resume-timeline{justify-content:center;padding-top:.18rem;display:flex;position:relative}.resume-timeline:before{content:"";background:#c6d0df;width:1px;position:absolute;top:.8rem;bottom:0}.resume-timeline span{z-index:1;border:3px solid var(--resume-blue-soft);background:var(--color-primary);border-radius:50%;width:15px;height:15px;position:relative}.resume-company-block{align-content:start;gap:1.15rem;padding-top:.2rem;display:grid}.resume-company-logo-frame{width:116px;height:58px;display:block;overflow:hidden}.resume-company-logo{width:344px;max-width:none;height:auto;display:block}.resume-company-block h3{color:var(--color-text);font-size:var(--text-xl);letter-spacing:var(--heading-letter-spacing);margin:0;font-weight:850;line-height:1.08}.resume-company-block p{color:var(--resume-blue);font-size:var(--text-sm);margin:.45rem 0 0;font-weight:800;line-height:1.2}.resume-experience-detail{min-width:0}.resume-experience-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem;display:grid}.resume-experience-header p{max-width:720px;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:0;line-height:1.55}.resume-experience-header time{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;font-weight:800;line-height:1.55}.resume-bullet-list{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--lead-text-weight);gap:1rem;margin:1.45rem 0 0;padding:0;line-height:1.55;list-style:none;display:grid}.resume-bullet-list li{padding-left:1.45rem;position:relative}.resume-bullet-list li:before{background:var(--resume-blue);content:"";border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.7em;left:0}.resume-project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;display:grid}.resume-project-card{border:1px solid var(--resume-card-border);min-height:360px;box-shadow:var(--resume-card-shadow);background:#fff;border-radius:8px;flex-direction:column;padding:1.55rem 1.45rem;display:flex}.resume-project-card h3{color:var(--color-text);font-size:var(--text-lg);letter-spacing:var(--heading-letter-spacing);margin:1.35rem 0 0;font-weight:850;line-height:1.08}.resume-project-card p{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:.65rem 0 0;line-height:1.55}.resume-project-stack{margin-top:auto;padding-top:1.25rem}.resume-skills-panel{border:1px solid var(--resume-card-border);box-shadow:var(--resume-card-shadow);background:#fff;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.resume-skill-group{min-width:0;padding:1.65rem 1.4rem}.resume-skill-group+.resume-skill-group{border-left:1px solid var(--resume-card-border)}.resume-skill-group h3{color:var(--color-text);font-size:var(--text-base);letter-spacing:var(--heading-letter-spacing);align-items:center;gap:.58rem;margin:0;font-weight:850;line-height:1.08;display:flex}.resume-skill-group h3 svg{color:var(--color-primary);flex:none}.resume-skill-tags{margin-top:1.35rem}.resume-education-list{gap:1.1rem;display:grid}.resume-education-card{border:1px solid var(--resume-card-border);min-height:128px;box-shadow:var(--resume-card-shadow);background:#fff;border-radius:8px;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:1.65rem;padding:1.4rem 1.65rem;display:grid}.resume-education-icon{width:82px;height:82px;color:var(--color-primary);background:#fff;border-radius:8px;place-items:center;display:inline-grid;overflow:hidden}.resume-education-logo{object-fit:contain;width:76px;height:auto;display:block}.resume-education-card h3{color:var(--color-text);font-size:var(--text-lg);letter-spacing:var(--heading-letter-spacing);margin:0;font-weight:850;line-height:1.08}.resume-education-card p{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:.45rem 0 0;line-height:1.55}@media (max-width:1080px){.resume-hero-grid{grid-template-columns:1fr;gap:2.75rem}.resume-facts-card{max-width:720px}.resume-project-grid,.resume-skills-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-skill-group:nth-child(odd){border-left:0}.resume-skill-group:nth-child(n+3){border-top:1px solid var(--resume-card-border)}}@media (max-width:860px){.resume-experience-card{grid-template-columns:26px 1fr;gap:1.35rem}.resume-company-block{grid-area:1/2;grid-template-columns:116px minmax(0,1fr);align-items:center}.resume-experience-detail{grid-column:2}.resume-experience-header{grid-template-columns:1fr;gap:.35rem}}@media (max-width:720px){.container{width:min(100% - 32px, var(--container))}.section-title{font-size:var(--text-2xl)}.section{padding-block:clamp(3.5rem,12vw,5rem)}.hero-section{padding-block:clamp(3rem,12vw,4.5rem)}.project-detail-hero-section{padding-block:2rem 2.25rem}.case-body-section{padding-block:2.05rem 3rem}.project-detail-header{grid-template-columns:1fr}.project-detail-logo{order:-1;width:64px;height:64px}.proof-item{padding-block:1rem;padding-inline:0}.proof-item+.proof-item{border-top:1px solid #fff3;border-left:0}.resume-hero-section{padding-block:3.4rem 3.6rem}.resume-role{font-size:var(--text-lg)}.resume-summary{font-size:var(--text-base);line-height:var(--lead-line-height)}.resume-cta-row{flex-direction:column}.resume-cta{width:100%}.resume-facts-card{padding:1.35rem}.resume-fact-row{grid-template-columns:40px minmax(0,1fr);gap:.95rem}.resume-icon-badge{width:38px;height:38px}.resume-body-section{padding-block:2.7rem 3.35rem}.resume-section{margin-bottom:3rem}.resume-experience-card{min-height:0;padding:1.35rem}.resume-project-grid,.resume-skills-panel{grid-template-columns:1fr}.resume-project-card{min-height:0}.resume-skill-group,.resume-skill-group:nth-child(odd){border-left:0}.resume-skill-group+.resume-skill-group,.resume-skill-group:nth-child(n+3){border-top:1px solid var(--resume-card-border)}.resume-education-card{grid-template-columns:64px minmax(0,1fr);gap:1rem;min-height:104px;padding:1.15rem}.resume-education-icon{width:64px;height:64px}.resume-education-icon svg{width:31px;height:31px}}@media (max-width:430px){.hero-title{font-size:2.35rem}.resume-company-block,.resume-education-card{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.work-page{--work-blue:#1c64f2;--work-blue-dark:#0a1d45;--work-blue-ink:#071226;--work-blue-muted:#53617a;--work-blue-line:#d7e2f1;--work-blue-line-soft:#eef3fb;--work-blue-wash:#f5f8fd;--work-shadow-card:0 18px 50px #081a3d12, 0 2px 6px #081a3d0a;--work-shadow-strong:0 18px 34px #07102433;background:radial-gradient(circle at 74% 10%,#2f74f614,#0000 28rem),linear-gradient(#fff 0% 66%,#fbfdff 100%)}.case-section-copy{font-size:var(--text-md)}.work-showcase-section{padding-block:clamp(2rem,4vw,3rem) clamp(2.4rem,4vw,3rem)}.work-hero{grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.work-hero-copy{max-width:760px;animation:.52s both work-rise}.work-eyebrow{color:var(--work-blue);font-size:var(--text-sm);letter-spacing:var(--kicker-letter-spacing);text-transform:uppercase;margin:0 0 1rem;font-weight:850;line-height:1}.work-hero h1{max-width:760px;color:var(--work-blue-ink);margin:0}.work-hero-copy>p:last-child{max-width:750px;color:var(--lead-text-color);font-size:var(--lead-text-size);font-weight:var(--lead-text-weight);line-height:var(--lead-line-height);margin:1.25rem 0 0}.work-visual{min-height:310px;animation:.62s 90ms both work-rise;position:relative}.work-visual:before{filter:blur(12px);content:"";background:radial-gradient(circle,#2c75ff1f,#0000 64%);border-radius:999px;position:absolute;inset:11% 7% 5% 10%}.work-blueprint{z-index:1;width:100%;max-width:620px;height:auto;margin-inline:auto;display:block;position:relative}.work-map-lines path,.work-dotted-lines path,.work-platform path,.work-floating-card path{fill:none;stroke-linecap:round;stroke-linejoin:round}.work-map-lines path{stroke:#5690e833;stroke-width:1.3px}.work-dotted-lines path{stroke:#1e67f057;stroke-dasharray:5 7;stroke-width:1.4px}.work-nodes circle{fill:#fff;stroke:#2d78ff;stroke-width:3px}.work-floating-card path:first-child,.work-platform path:first-child{fill:#ffffffeb;stroke:#77a0e161;stroke-width:1.4px}.work-floating-card path:not(:first-child){stroke:#6f94cf;stroke-width:4px}.work-platform path:not(:first-child){stroke:#4982dc3d;stroke-width:1.2px}.work-cube path{stroke:#609bff59;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.work-cube path:first-child{fill:url(#work-cube-top)}.work-cube path:nth-child(2){fill:url(#work-cube-side)}.work-cube path:nth-child(3){fill:#08275d}.work-cube path:nth-child(n+4){fill:none}.work-cube text{fill:#fff;letter-spacing:.03em;transform-box:fill-box;transform-origin:50%;font-size:36px;font-weight:700;transform:rotate(-27deg)}.work-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:clamp(1.7rem,3.5vw,2.5rem) 0 1.35rem;padding:0;list-style:none;animation:.62s .15s both work-rise;display:grid}.work-metrics li{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:.9rem;min-width:0;padding:.25rem clamp(1.1rem,2.2vw,2rem);display:grid}.work-metrics li:first-child{padding-left:.55rem}.work-metrics li+li{border-left:1px solid var(--work-blue-line)}.work-metric-icon,.work-callout-icon,.work-page .project-logo{color:#2458ca;background:linear-gradient(145deg,#f8fbff 0%,#eaf2ff 100%);place-items:center;display:inline-grid;box-shadow:0 10px 22px #2353aa1f}.work-metric-icon{border:1px solid #dae4f3d9;border-radius:10px;width:40px;height:40px}.work-metrics strong,.work-metrics span span{min-width:0;display:block}.work-metrics strong{color:var(--work-blue-ink);font-size:1.02rem;font-weight:850;line-height:1.15}.work-metrics span span{color:var(--work-blue-muted);font-size:var(--text-sm);margin-top:.12rem;font-weight:560;line-height:1.2}.work-featured-card,.work-project-card,.work-callout{border:1px solid var(--work-blue-line);box-shadow:var(--work-shadow-card);background:#ffffffeb}.work-featured-card{border-radius:12px;grid-template-columns:142px minmax(0,1fr) minmax(250px,.47fr);align-items:center;gap:clamp(1.5rem,3vw,2.3rem);margin-top:1.25rem;padding:clamp(1.5rem,3vw,2rem) clamp(1.45rem,3vw,2.1rem);animation:.62s .22s both work-rise;display:grid}.work-featured-icon{justify-content:center;display:flex}.work-featured-main{min-width:0}.work-title-row{flex-wrap:wrap;align-items:center;gap:.65rem .9rem;display:flex}.work-featured-badge,.work-category-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;font-size:.72rem;font-weight:850;line-height:1;display:inline-flex}.work-featured-badge{color:var(--work-blue);letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(#fff 0%,#e9f1ff 100%);border:1px solid #1c64f28c;padding:.29rem .65rem}.work-category-badge{color:#546277;background:#edf1f7;padding:.32rem .62rem}.work-title-row h2,.work-project-card h2,.work-callout h2{color:var(--work-blue-ink);letter-spacing:var(--heading-letter-spacing);margin:0;font-weight:850;line-height:1.08}.work-title-row h2{flex-basis:100%;font-size:clamp(1.45rem,2.2vw,1.72rem)}.work-featured-summary{color:#3d4a63;font-size:var(--text-base);font-style:italic;font-weight:var(--lead-text-weight);margin:.65rem 0 0;line-height:1.55}.work-featured-meta{border-top:1px solid var(--work-blue-line);grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:1.4rem;margin-top:1.05rem;padding-top:1rem;display:grid}.work-featured-meta div{min-width:0}.work-featured-meta span,.work-evidence-box span{color:#627086;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.68rem;font-weight:850;line-height:1;display:inline-flex}.work-featured-meta strong,.work-evidence-box strong{color:#24304a;font-size:var(--text-sm);margin-top:.4rem;font-weight:750;line-height:1.35;display:block}.work-featured-side{border-left:1px solid var(--work-blue-line);align-content:center;gap:1.35rem;min-width:0;padding-left:clamp(1.4rem,3vw,2rem);display:grid}.work-page .tech-tag-list{gap:.5rem .62rem}.work-page .tech-tag{color:#202b40;background:#f1f4f8;border-radius:7px;min-height:27px;padding:.24rem .54rem;font-size:.76rem}.work-primary-cta,.work-secondary-cta,.work-text-cta{font-size:var(--text-sm);border-radius:7px;justify-content:center;align-items:center;gap:.6rem;font-weight:850;line-height:1;display:inline-flex}.work-primary-cta{color:#fff;width:fit-content;min-height:45px;box-shadow:var(--work-shadow-strong);background:linear-gradient(#0d2148 0%,#061631 100%);border:1px solid #07152f;padding:.86rem 1.3rem}.work-primary-cta:hover{background:linear-gradient(#123061 0%,#071b3b 100%);transform:translateY(-2px)}.work-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem;animation:.62s .3s both work-rise;display:grid}.work-project-card{border-radius:10px;flex-direction:column;min-width:0;min-height:315px;padding:1.45rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.work-project-card:hover{border-color:#1c64f273;transform:translateY(-3px);box-shadow:0 20px 54px #081a3d1a,0 2px 8px #081a3d0a}.work-project-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.work-project-card h2{font-size:var(--text-xl);margin-top:1rem}.work-project-summary{color:#465570;font-size:var(--text-sm);font-weight:var(--lead-text-weight);margin:.55rem 0 0;line-height:1.55}.work-evidence-box{border:1px solid var(--work-blue-line);background:linear-gradient(#fff 0%,#fbfdff 100%);border-radius:8px;gap:.2rem;margin-top:.85rem;padding:.8rem .9rem;display:grid}.work-evidence-box strong{color:#18233a;margin-top:.05rem}.work-project-tags{margin-top:1rem}.work-text-cta{color:#0a1d45;width:fit-content;margin-top:auto;padding-top:1.35rem}.work-text-cta:hover{color:var(--work-blue);transform:translate(3px)}.work-callout{background:linear-gradient(135deg,#eef5ffe0,#fffffff0),radial-gradient(circle at 12% 20%,#1c64f224,#0000 18rem);border-radius:10px;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:center;gap:clamp(1.4rem,2.5vw,2.4rem);margin-top:1.55rem;padding:1.55rem 1.75rem;animation:.62s .38s both work-rise;display:grid}.work-callout-block{grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:1.25rem;min-width:0;display:grid}.work-callout-icon{border:1px solid var(--work-blue-line);border-radius:50%;width:56px;height:56px}.work-callout h2{font-size:var(--text-lg)}.work-callout p{color:#53617a;font-size:var(--text-sm);margin:.35rem 0 0;line-height:1.35}.work-secondary-cta{color:#0a1d45;background:#ffffffb8;border:1px solid #7b8aa4;min-height:42px;padding:.82rem 1.1rem}.work-secondary-cta:hover{background:#fff;border-color:#0a1d45;transform:translateY(-2px)}.work-callout-divider{background:#b8c5d8;width:1px;height:58px}@keyframes work-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1120px){.work-hero{grid-template-columns:1fr;gap:1.5rem}.work-visual{order:-1;min-height:260px}.work-blueprint{max-width:560px}.work-featured-card{grid-template-columns:112px minmax(0,1fr)}.work-featured-side{border-left:0;border-top:1px solid var(--work-blue-line);grid-column:1/-1;padding-top:1.25rem;padding-left:0}.work-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-callout,.work-callout-block{grid-template-columns:1fr}.work-callout-block{justify-items:start}.work-callout-divider{width:100%;height:1px}}@media (max-width:820px){.work-showcase-section{padding-block:2.4rem}.work-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 0}.work-metrics li{padding-inline:.65rem}.work-metrics li:nth-child(odd){border-left:0}.work-metrics li:nth-child(n+3){border-top:1px solid var(--work-blue-line);padding-top:1rem}.work-featured-card,.work-card-grid{grid-template-columns:1fr}.work-featured-card{align-items:start}.work-featured-icon{justify-content:flex-start}.work-featured-meta{grid-template-columns:1fr;gap:.85rem}}@media (max-width:560px){.work-visual{display:none}.work-metrics{grid-template-columns:1fr}.work-metrics li,.work-metrics li:first-child{border-left:0;padding-inline:0}.work-metrics li+li{border-left:0;border-top:1px solid var(--work-blue-line);padding-top:.9rem}.work-featured-card,.work-project-card,.work-callout{padding:1.2rem}.work-project-heading,.work-title-row{align-items:flex-start}.work-callout-block-resume .work-primary-cta,.work-secondary-cta{width:100%}}
