:root{--container:1180px;--color-paper:#fdfaf5;--color-surface:#f9f5ef;--color-surface-raised:#fefcf8;--color-surface-muted:#f4f1ea;--color-on-dark:#fdfaf5;--color-bg:var(--color-paper);--color-ink:#071324;--color-ink-muted:#455265;--color-ink-soft:#5e6a7a;--color-text:var(--color-ink);--color-text-muted:var(--color-ink-muted);--color-text-soft:var(--color-ink-soft);--color-border:#d1d6de;--color-border-soft:#e3e8ed;--color-primary:#061c3c;--color-primary-hover:#0f2a52;--color-primary-soft:#e3eefd;--color-accent:#193c89;--color-accent-hover:#0c2a6c;--color-dark:#071324;--color-dark-muted:#111e33;--color-tag-bg:#e4eaf2;--color-tag-text:#273345;--color-header-surface:#fdfaf5e0;--shadow-card:0 1px 2px #07132408, 0 12px 28px #07132409;--shadow-button:0 10px 18px #0713242e;--shadow-project-mark:0 10px 22px #193c891f;--shadow-project-mark-hover:0 14px 28px #193c8929;--focus-ring:#3c65b95c;--duration-fast:.16s;--duration-base:.18s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-arrival:cubic-bezier(.16, 1, .3, 1);--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:var(--color-ink-muted);--lead-text-size:clamp(1rem, 1.2vw, 1.12rem);--lead-text-weight:560;--lead-line-height:1.6;--editorial-font-weight:500;--label-font-weight:800;--action-font-weight:750;--editorial-letter-spacing:-.032em;--label-letter-spacing:.08em;--font-display:Georgia, "Times New Roman", ui-serif, serif;--font-sans:Inter, Geist, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--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)}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(98.4029% .235409 2.66094);--color-surface:lab(96.7862% .308454 3.42494);--color-surface-raised:lab(98.9753% .165164 1.89873);--color-surface-muted:lab(95.1703% .228137 3.81824);--color-on-dark:lab(98.4029% .235409 2.66094);--color-ink:lab(5.5057% .331864 -13.545);--color-ink-muted:lab(34.3223% -1.45933 -12.6531);--color-ink-soft:lab(44.2212% -1.64342 -10.8861);--color-border:lab(85.475% -.958055 -4.39342);--color-border-soft:lab(91.6298% -.729203 -3.30101);--color-primary:lab(10.1241% 2.31813 -23.6596);--color-primary-hover:lab(17.0205% 2.13535 -27.8842);--color-primary-soft:lab(93.5426% -1.27599 -8.87924);--color-accent:lab(26.6% 11.3258 -47.4925);--color-accent-hover:lab(18.5484% 11.4966 -42.1717);--color-dark:lab(5.5057% .331864 -13.545);--color-dark-muted:lab(10.978% .079982 -15.9122);--color-tag-bg:lab(92.4352% -.961185 -4.39514);--color-tag-text:lab(20.9577% -1.12274 -12.8975);--color-header-surface:lab(98.4029% .235409 2.66094/.88);--shadow-card:0 1px 2px lab(5.5057% .331864 -13.545/.03), 0 12px 28px lab(5.5057% .331864 -13.545/.035);--shadow-button:0 10px 18px lab(5.5057% .331864 -13.545/.18);--shadow-project-mark:0 10px 22px lab(26.6% 11.3258 -47.4925/.12);--shadow-project-mark-hover:0 14px 28px lab(26.6% 11.3258 -47.4925/.16);--focus-ring:lab(43.0676% 7.31498 -49.542/.36)}}html{background:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;overflow-x:clip}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;overflow-x:clip}*{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;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);text-decoration:none}button{font:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:6px}.skip-link{top:.75rem;z-index:100;background:var(--color-primary);min-height:44px;color:var(--color-on-dark);font-size:var(--text-sm);box-shadow:var(--shadow-button);border-radius:6px;align-items:center;padding-inline:1rem;font-weight:700;line-height:1;display:inline-flex;position:fixed;inset-inline-start:.75rem;transform:translateY(calc(-100% - 1rem))}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}.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-family:var(--font-display);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);font-family:var(--font-display);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-base);font-weight:400;line-height:1.55}.home-page{--home-blue:var(--color-accent);--home-line:var(--color-border);--home-line-strong:color-mix(in oklch, var(--home-blue) 48%, var(--home-line));background:var(--color-paper)}.home-hero-section{padding-block:clamp(2.8rem,4.6vw,4rem) clamp(3.4rem,5.6vw,5.2rem)}.home-hero{max-width:980px}.home-hero-title{max-width:980px;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(3.15rem,4.3vw,3.9rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);text-wrap:balance;line-height:.99}.home-hero-description{max-width:700px;color:var(--color-ink-muted);font-size:clamp(1rem,1.3vw,1.12rem);font-weight:var(--lead-text-weight);line-height:var(--lead-line-height);margin-top:1.3rem}.home-hero-actions{flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:1.7rem;display:flex}.home-resume-link{min-height:44px;color:var(--home-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight);align-items:center;gap:.5rem;padding-inline:.65rem;line-height:1;display:inline-flex}.home-resume-link:hover{color:var(--color-accent-hover)}.home-evidence-atlas{grid-template-columns:minmax(0,1.86fr) minmax(260px,.74fr);align-items:end;gap:clamp(2.8rem,5vw,5.4rem);margin-top:clamp(3rem,4.5vw,4rem);scroll-margin-top:5.5rem;display:grid}.home-featured-project{min-width:0}.home-featured-link{border:1px solid var(--home-blue);min-height:460px;color:var(--color-ink);isolation:isolate;transition:background-color var(--duration-base) var(--ease-standard);display:block;position:relative;overflow:hidden}.home-featured-link:hover{background:color-mix(in oklch, var(--color-primary-soft) 38%, var(--color-paper))}.home-featured-copy{z-index:2;flex-direction:column;align-items:flex-start;max-width:70%;min-height:458px;padding:clamp(1.65rem,3vw,2.25rem);display:flex;position:relative}.home-featured-copy h2,.home-project-row-title h3,.home-writing-bridge h2,.home-experience h2,.home-experience-item h3,.home-contact-grid h2{color:var(--color-ink);font-family:var(--font-display);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);text-wrap:balance}.home-featured-copy h2{font-size:clamp(2.55rem,4vw,3.5rem);line-height:1.02}.home-featured-label{color:var(--home-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;margin-top:.95rem;line-height:1.25}.home-featured-summary{max-width:560px;color:var(--color-ink-muted);font-size:var(--text-base);margin-top:1.2rem;line-height:1.65}.home-featured-state{max-width:520px;color:var(--color-ink);font-size:var(--text-xs);margin-top:auto;padding-top:1.4rem;font-weight:700;line-height:1.5}.home-featured-action{min-height:44px;color:var(--home-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight);align-items:center;gap:.55rem;margin-top:.8rem;display:inline-flex}.home-featured-action svg,.home-project-arrow,.home-writing-bridge a svg{transition:transform var(--duration-base) var(--ease-standard)}.home-featured-link:hover .home-featured-action svg,.home-project-card:hover .home-project-arrow,.home-writing-bridge a:hover svg{transform:translate(4px)}.home-featured-traces{z-index:1;width:50%;height:100%;color:color-mix(in oklch, var(--home-blue) 50%, transparent);pointer-events:none;position:absolute;top:0;right:-1px}.home-featured-traces path{stroke-dasharray:830;stroke-dashoffset:830px;animation:home-traces-resolve .9s .12s var(--ease-arrival) forwards}.home-engineering-index{min-width:0;padding-bottom:.25rem;position:relative}.home-engineering-index-heading{border-bottom:1px solid var(--home-line);padding-bottom:1rem}.home-engineering-index-heading h2{color:var(--home-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;line-height:1.2}.home-engineering-index-heading p{color:var(--color-ink-muted);font-size:var(--text-sm);margin-top:.9rem;line-height:1.5}.home-index-bridge{border-top:1px solid var(--home-blue);border-left:1px solid var(--home-blue);pointer-events:none;border-radius:18px 0 0;width:clamp(3.15rem,5vw,5.45rem);height:3.2rem;position:absolute;top:7.35rem;right:calc(100% - 7px)}.home-engineering-index-list{padding:1.3rem 0 0 1.7rem;list-style:none;display:grid;position:relative}.home-engineering-index-list:before{background:var(--home-line-strong);content:"";width:1px;position:absolute;top:1.3rem;bottom:1.6rem;left:7px}.home-engineering-index-list li{gap:.25rem;min-height:44px;padding:0 0 1.25rem .2rem;display:grid;position:relative}.home-engineering-index-list li:before{z-index:1;border:1px solid var(--home-blue);background:var(--color-paper);content:"";border-radius:50%;width:13px;height:13px;position:absolute;top:.42rem;left:-1.7rem}.home-engineering-index-list li:first-child:before{border-width:2px}.home-engineering-index-title{color:var(--home-blue);font-size:var(--text-base);font-weight:700;line-height:1.3}.home-engineering-index-description{color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.5}.home-project-grid{border-block:1px solid var(--color-border);margin-top:1.8rem;display:grid}.home-project-row+.home-project-row{border-top:1px solid var(--home-line)}.home-project-card{min-height:142px;color:var(--color-ink);transition:background-color var(--duration-base) var(--ease-standard);grid-template-columns:minmax(180px,.72fr) minmax(250px,1.15fr) minmax(220px,.9fr) 30px;align-items:center;gap:clamp(1.2rem,3vw,2.8rem);padding-block:1.5rem;display:grid}.home-project-card:hover{background:color-mix(in oklch, var(--color-primary-soft) 28%, transparent)}.home-project-row-title h3{font-size:clamp(1.55rem,2.35vw,2rem);line-height:1.08}.home-project-row-title p{color:var(--home-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);margin-top:.45rem;line-height:1.4;display:none}.home-project-summary{color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.6}.home-project-meta{gap:.65rem;display:grid}.home-project-meta p,.home-project-meta span{color:var(--color-ink-muted);font-size:var(--text-xs);line-height:1.5}.home-project-meta p{color:var(--color-ink);font-weight:700}.home-project-meta span{color:var(--color-ink-soft);font-weight:600}.home-project-arrow{color:var(--home-blue);justify-self:end}.open-source-band{background:var(--color-surface-muted);padding-block:var(--space-section-tight)}.open-source-header{gap:.75rem;display:grid}.open-source-list{margin-top:2rem;list-style:none}.open-source-list li{border-top:1px solid var(--color-border)}.open-source-list li:last-child{border-bottom:1px solid var(--color-border)}.open-source-row{grid-template-columns:minmax(9rem,.8fr) minmax(0,2fr) minmax(8rem,auto);align-items:center;gap:1.5rem;min-height:72px;padding-block:.9rem;display:grid}.open-source-title{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;font-weight:700}.open-source-summary{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400;line-height:1.5}.open-source-action{min-height:44px;color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--action-font-weight);text-align:right;justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.open-source-row:hover .open-source-title,.open-source-row:hover .open-source-action{color:var(--color-accent-hover)}:where(.button,.home-resume-link,.open-source-action,.section-text-link,.case-back-link,.case-evidence-link) :where(.lucide-arrow-right,.lucide-arrow-left,.lucide-arrow-up-right){transition:transform var(--duration-fast) var(--ease-arrival)}@media (hover:hover) and (pointer:fine){:where(.button,.home-resume-link,.home-project-card,.section-text-link,.case-back-link,.case-evidence-link):hover .lucide-arrow-right{transform:translate(3px)}:where(.case-back-link):hover .lucide-arrow-left{transform:translate(-3px)}:where(.open-source-row,.case-evidence-link):hover .lucide-arrow-up-right{transform:translate(2px,-2px)}}.home-proof-section{border-top:1px solid var(--color-border-soft)}.home-proof-bridge{border-block:1px solid var(--home-line);grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);display:grid}.home-writing-bridge{padding:clamp(1.7rem,3vw,2.5rem) clamp(2rem,4vw,4.25rem) clamp(1.8rem,3vw,2.5rem) 0;position:relative;overflow:hidden}.home-writing-header{z-index:1;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex;position:relative}.home-writing-header h2{font-size:clamp(1.7rem,2.8vw,2.35rem);line-height:1.08}.home-writing-header>a{min-height:44px;color:var(--home-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight);flex:none;align-items:center;gap:.45rem;display:inline-flex}.home-writing-introduction{z-index:1;max-width:550px;color:var(--color-ink-muted);font-size:var(--text-sm);margin-top:.9rem;line-height:1.65;position:relative}.home-writing-list{z-index:1;border-top:1px solid var(--home-line);margin:1.25rem 0 0;padding:0;list-style:none;position:relative}.home-writing-list li{border-bottom:1px solid var(--home-line)}.home-writing-list a{min-height:64px;color:var(--color-ink);grid-template-columns:minmax(110px,.34fr) minmax(0,1fr) 20px;align-items:center;gap:1rem;padding-block:.75rem;display:grid}.home-writing-list a:hover{color:var(--home-blue)}.home-writing-list span{color:var(--home-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:.02em}.home-writing-list strong{font-family:var(--font-display);font-size:var(--text-base);line-height:1.25}.home-writing-list svg{color:var(--home-blue);transition:transform var(--duration-fast) var(--ease-standard)}.home-writing-list a:hover svg,.home-writing-header>a:hover svg{transform:translate(4px)}.home-writing-header>a,.home-writing-list a{font-size:var(--text-sm)}.home-writing-traces{width:330px;height:330px;color:color-mix(in oklch, var(--home-blue) 34%, transparent);pointer-events:none;position:absolute;bottom:-7rem;right:-4rem;transform:rotate(78deg)}.home-experience{border-left:1px solid var(--home-line);padding:clamp(1.7rem,3vw,2.5rem) 0 clamp(1.8rem,3vw,2.5rem) clamp(2rem,4vw,4.25rem)}.home-section-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.home-experience h2{font-size:clamp(1.7rem,2.8vw,2.35rem);line-height:1.08}.home-experience-list{border-top:1px solid var(--home-line);margin-top:1.55rem}.home-experience-item{padding-block:1.2rem}.home-experience-item+.home-experience-item{border-top:1px solid var(--home-line)}.home-experience-item h3{font-size:var(--text-lg);line-height:1.12}.home-experience-item p{color:var(--color-ink-muted);font-size:var(--text-sm);margin-top:.5rem;line-height:1.6}.home-contact-grid{grid-template-columns:minmax(260px,.78fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);display:grid}.home-contact-grid h2{max-width:480px;font-size:clamp(2rem,3.5vw,3rem);line-height:1.06}.home-contact-description{max-width:650px;color:var(--color-ink-muted);font-size:var(--text-base);line-height:1.65}.home-contact-action{margin-top:1.6rem}@keyframes home-traces-resolve{to{stroke-dashoffset:0}}@media (max-width:980px){.home-evidence-atlas{grid-template-columns:1fr;align-items:start;gap:2.4rem}.home-featured-project{max-width:none}.home-engineering-index{max-width:690px}.home-index-bridge{display:none}.home-project-card{grid-template-columns:minmax(170px,.72fr) minmax(250px,1.2fr) minmax(190px,.72fr) 30px;gap:1.4rem}.home-proof-bridge{grid-template-columns:1fr}.home-writing-bridge{padding-right:0}.home-experience{border-top:1px solid var(--home-line);border-left:0;padding-left:0}}@media (max-width:760px){.home-hero-title{font-size:var(--hero-title-size-mobile);line-height:1}.home-featured-link,.home-featured-copy{min-height:430px}.home-featured-copy{max-width:78%}.home-project-card{grid-template-columns:minmax(0,1fr) 28px;gap:.75rem 1rem;min-height:0;padding-block:1.35rem}.home-project-row-title,.home-project-summary,.home-project-meta{grid-column:1}.home-project-row-title p{display:block}.home-project-summary{margin-top:.15rem}.home-project-meta span{display:none}.home-project-arrow{grid-area:1/2/span 3}.home-contact-grid{grid-template-columns:1fr}.home-writing-list a{grid-template-columns:minmax(0,1fr) 24px;gap:.3rem .75rem}.home-writing-list span,.home-writing-list strong{grid-column:1}.home-writing-list svg{grid-area:1/2/3}}@media (max-width:560px){.home-hero-section{padding-block:2.4rem 3.6rem}.home-hero-actions{flex-direction:column;align-items:stretch}.home-primary-action{width:100%}.home-resume-link{justify-content:center}.home-evidence-atlas{margin-top:3.2rem}.home-featured-link,.home-featured-copy{min-height:450px}.home-featured-copy{max-width:94%;padding:1.35rem}.home-featured-summary{max-width:88%}.home-featured-traces{opacity:.68;width:72%;right:-22%}.home-writing-header{display:grid}.home-writing-traces{display:none}.home-section-header{display:grid}.home-contact-action{width:100%}}.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:var(--color-surface-raised);padding-block:var(--space-section-tight);scroll-margin-top:64px}.work-band-header{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.section-text-link,.case-back-link,.case-evidence-link{min-height:44px;color:var(--color-accent);font-size:var(--text-sm);line-height:1;font-weight:var(--action-font-weight);align-items:center;gap:.5rem;display:inline-flex}.section-text-link:hover,.case-back-link:hover,.case-evidence-link:hover{color:var(--color-accent-hover)}.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-soft);background:var(--color-header-surface);-webkit-backdrop-filter:blur(14px)saturate(1.08);backdrop-filter:blur(14px)saturate(1.08);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:clamp(1rem,3vw,2.4rem);min-height:3.65rem;display:flex}.site-brand-link{min-width:44px;min-height:44px;color:var(--color-text);align-items:center;gap:.9rem;font-weight:600;display:flex}.site-logo-mark{object-fit:contain;flex:none;width:42px;height:auto;display:block}.site-brand-name{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.site-primary-nav,.site-nav-list{align-items:center;display:flex}.site-primary-nav{gap:1rem}.site-nav-list{gap:clamp(.65rem,1.6vw,1.15rem);list-style:none}.nav-link{min-height:3.65rem;color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;padding-inline:.4rem;font-weight:620;line-height:1;display:inline-flex;position:relative}.nav-link:after{background:var(--color-accent);opacity:0;height:3px;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);content:"";border-radius:999px 999px 0 0;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(.58)}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-text)}.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);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--color-accent) 28%, transparent);text-decoration-color:color-mix(in oklch, var(--color-accent) 28%, transparent);font-weight:650}.link:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}.button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:44px;color:var(--color-on-dark);font-size:var(--text-sm);font-weight:var(--action-font-weight);box-shadow:var(--shadow-button);border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.68rem 1rem;line-height:1;display:inline-flex}.button:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.button:active{transition-duration:.1s;transform:translateY(0)scale(.985)}@media (hover:none),(pointer:coarse){.button:hover{transform:none}.home-project-card:hover{background:var(--color-surface-raised)}}.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{border:1px solid var(--color-border);background:linear-gradient(145deg, var(--color-surface-raised) 0%, var(--color-primary-soft) 100%);width:48px;height:48px;box-shadow:var(--shadow-project-mark);transition:box-shadow var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);border-radius:12px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.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-page{--case-blue:var(--color-accent);--case-line:var(--color-border);background:var(--color-paper)}.project-detail-hero-section{padding-block:clamp(2.2rem,5vw,4.8rem) clamp(2.7rem,6vw,5.4rem)}.project-detail-header{grid-template-columns:minmax(0,56rem) auto;justify-content:space-between;align-items:center;gap:clamp(1.25rem,4vw,3rem);max-width:none;display:grid}.project-detail-header h1{max-width:14ch;font-size:clamp(3rem,6vw,5.15rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);line-height:.99}.project-detail-header .page-description{max-width:760px;font-size:clamp(1.05rem,1.65vw,1.25rem);font-weight:400;line-height:1.65}.project-detail-logo{width:92px;height:92px;margin-top:0}.case-back-link{margin-bottom:1.35rem}.case-metadata-grid{border-block:1px solid var(--case-line);gap:0;margin-top:clamp(2rem,4vw,3.3rem);display:grid}.case-metadata-card{min-width:0;padding:1.25rem clamp(1rem,2vw,1.5rem)}.case-metadata-card:first-child{padding-left:0}.case-metadata-card+.case-metadata-card{border-left:1px solid var(--case-line)}.case-metadata-label{color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;line-height:1.2}.case-metadata-value{color:var(--color-text);font-size:var(--text-sm);margin-top:.55rem;font-weight:650;line-height:1.5}.case-body-section{padding-block:clamp(3rem,6vw,5.5rem)}.case-study-layout{align-items:start;gap:clamp(2rem,6vw,6.5rem);max-width:1050px;margin-inline:auto;display:grid}.case-study-nav-title{color:var(--case-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;margin:0 0 .8rem;line-height:1.2}.case-study-layout>nav{position:sticky;top:6rem}.case-study-nav-list{color:var(--color-text-muted);font-size:var(--text-sm);gap:.15rem;font-weight:620;list-style:none;display:grid}.case-study-nav-list a{border-bottom:1px solid var(--case-line);align-items:center;min-height:44px;padding-block:.65rem;line-height:1.35;display:flex}.case-study-nav-list a:hover{color:var(--case-blue)}.case-study-content{gap:clamp(2.75rem,6vw,4.75rem);min-width:0;max-width:75ch;display:grid}.case-evidence-list,.case-bullet-list{gap:0;list-style:none;display:grid}.case-evidence-list{border-top:1px solid var(--case-line)}.case-evidence-list li{border-bottom:1px solid var(--case-line)}.case-evidence-link{justify-content:space-between;align-items:center;gap:.45rem;min-height:44px;padding-block:.7rem;line-height:1.35;display:flex}.case-section{border-top:1px solid var(--case-line);color:var(--color-text-muted);font-size:var(--text-base);gap:1rem;padding-top:1.35rem;scroll-margin-top:5rem;font-weight:400;line-height:1.7;display:grid}.case-section .card-title{max-width:680px;font-size:clamp(1.8rem,3.4vw,2.45rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);margin:0;line-height:1.08}.case-section-body{gap:1rem;min-width:0;max-width:75ch;display:grid}.case-bullet-list li{border-bottom:1px solid var(--color-border-soft);padding:.8rem 0 .8rem 1.55rem;position:relative}.case-bullet-list li:before{border:1px solid var(--case-blue);content:"";width:9px;height:9px;position:absolute;top:1.15rem;left:0}.case-implementation-example{min-width:0;margin-top:.35rem}.case-implementation-example figcaption{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);margin-bottom:.65rem;line-height:1.45}.case-implementation-example pre{background:var(--color-dark);max-width:100%;color:var(--color-on-dark);font-size:var(--text-sm);border-radius:8px;margin:0;padding:1rem 1.1rem;line-height:1.65;overflow-x:auto}.case-implementation-example code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.case-related-work{border-block:1px solid var(--case-blue);padding-block:1.55rem;scroll-margin-top:5rem}.case-related-work>header h2{color:var(--color-text);font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.55rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);margin:0;line-height:1.08}.case-related-work>header p{max-width:64ch;color:var(--color-text-muted);margin-top:.75rem;line-height:1.65}.case-related-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:1.65rem;display:grid}.case-related-work-grid h3{color:var(--case-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;margin:0 0 .75rem;line-height:1.25}.case-related-work-grid ul{border-top:1px solid var(--case-line);margin:0;padding:0;list-style:none}.case-related-work-grid li{border-bottom:1px solid var(--case-line)}.case-related-work-grid a{min-height:76px;color:var(--color-text);grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:.3rem .85rem;padding-block:.85rem;display:grid}.case-related-work-grid a:hover{color:var(--case-blue)}.case-related-work-grid a>span,.case-related-work-grid a>strong{grid-column:1}.case-related-work-grid a>span{color:var(--color-text-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.case-related-work-grid a>strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}.case-related-work-grid a>svg{color:var(--case-blue);transition:transform var(--duration-fast) var(--ease-standard);grid-area:1/2/3}.case-related-work-grid a:hover>svg{transform:translate(4px)}@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:minmax(190px,.32fr) minmax(0,1fr)}}@media (max-width:1023px){.case-study-layout,.case-study-layout>nav,.case-study-content{min-width:0}.case-study-layout>nav{position:static}.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);background:var(--color-surface-raised);white-space:nowrap;margin-inline:0;padding:.42rem .62rem}}@media (max-width:680px){.case-related-work-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.case-related-work-grid a>svg{transition:none}}.site-footer{border-top:1px solid var(--color-border-soft);background:var(--color-surface-raised)}.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{min-height:44px;color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;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{min-height:44px;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:760px){.site-primary-nav,.site-nav-list{gap:.75rem}}@media (max-width:720px){.site-footer-inner{flex-direction:column;align-items:flex-start}.work-band-header{align-items:flex-start}.work-band{padding-block:2.25rem}.open-source-row{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}.open-source-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;grid-area:2/1/auto/-1;display:-webkit-box;overflow:hidden}.open-source-action span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-project-card-header{flex-direction:row;align-items:center}}@media (max-width:620px){.site-brand-name{display:none}}@media (max-width:520px){.home-hero-actions{flex-direction:column;align-items:stretch}.home-hero-actions .button{width:100%}.home-resume-link{justify-content:center}.work-band-header{flex-direction:column;gap:.5rem}.home-contact-action{width:100%;padding-inline:.75rem}}.about-page{--about-blue:var(--color-accent);--about-rule:var(--color-border);background:var(--color-bg)}.about-field-section{padding-block:clamp(3.5rem,6vw,5.75rem) clamp(4.5rem,8vw,7.25rem)}.about-field-container{width:min(100% - 128px,1328px)}.about-field-layout{grid-template-columns:minmax(280px,330px) minmax(0,1fr);align-items:start;gap:clamp(3.5rem,6vw,6.75rem);display:grid}.about-identity-rail{border-right:1px solid var(--about-rule);min-width:0;padding-right:clamp(1.75rem,3vw,3rem);position:sticky;top:6.75rem}.about-identity-figure{margin:0}.about-portrait-frame{background:var(--color-surface-muted);overflow:hidden}.about-portrait{aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;width:100%;height:auto;display:block}.about-identity-figure figcaption{border-bottom:1px solid var(--about-rule);gap:.25rem;padding-block:1.4rem 1.5rem;display:grid}.about-identity-figure strong{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.025em;font-size:1.35rem;line-height:1.05}.about-identity-figure figcaption span{color:var(--color-text-muted);font-size:var(--text-sm)}.about-capability-index{margin-top:1.65rem}.about-capability-index h2{color:var(--color-text-soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .65rem;font-size:.75rem;font-weight:800;line-height:1.2}.about-capability-index ol{margin:0;padding:0;list-style:none}.about-capability-index li{border-top:1px solid var(--about-rule);min-height:44px;color:var(--color-text-muted);grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.65rem;font-size:.86rem;display:grid}.about-capability-index li>span:first-child{color:var(--about-blue);letter-spacing:.04em;font-size:.74rem;font-weight:800}.about-reading-field{min-width:0}.about-intro{max-width:900px}.about-intro h1{max-width:23ch;color:var(--color-text);font-family:var(--font-display);font-size:clamp(3.15rem,4.45vw,4.25rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);text-wrap:balance;margin:0;line-height:.98}.about-intro>p{max-width:70ch;color:var(--color-text-muted);font-size:clamp(1rem,1.25vw,1.14rem);font-weight:var(--lead-text-weight);margin:1.6rem 0 0;line-height:1.65}.about-interview{max-width:900px;margin-top:clamp(3rem,4vw,4.25rem)}.about-interview ol{gap:clamp(2rem,3vw,3rem);margin:0;padding:0;list-style:none;display:grid;position:relative}.about-interview ol:before{z-index:0;background:var(--about-blue);content:"";transform-origin:top;width:1px;animation:.72s cubic-bezier(.16,1,.3,1) both about-path-arrive;position:absolute;top:1.15rem;bottom:1.15rem;left:1.12rem}@keyframes about-path-arrive{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.about-interview li{z-index:1;grid-template-columns:2.3rem minmax(0,1fr);align-items:start;gap:clamp(1.4rem,3vw,2.8rem);display:grid;position:relative}.about-waypoint{background:var(--about-blue);width:2.3rem;height:2.3rem;color:var(--color-on-dark);border-radius:50%;place-items:center;font-size:.76rem;font-weight:800;line-height:1;display:grid}.about-interview article{border-bottom:1px solid var(--about-rule);padding-bottom:clamp(1.75rem,2.5vw,2.25rem)}.about-interview li:last-child article{border-bottom:0;padding-bottom:0}.about-interview h2{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);margin:0;line-height:1.05}.about-interview p{max-width:68ch;color:var(--color-text-muted);margin:.85rem 0 0;font-size:1rem;line-height:1.68}.about-principles{border-block:1px solid var(--about-rule);margin-top:clamp(4rem,7vw,6.5rem);padding-block:1.45rem 1.65rem}.about-principles>h2{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 1.2rem;font-size:1.35rem;font-weight:700;line-height:1.1}.about-principles ul{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.about-principles li{grid-template-columns:2rem minmax(0,1fr);gap:.8rem;min-width:0;padding-inline:1.4rem;display:grid}.about-principles li:first-child{padding-left:0}.about-principles li+li{border-left:1px solid var(--about-rule)}.about-principles svg{color:var(--about-blue)}.about-principles h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;margin:0;line-height:1.15}.about-principles p{color:var(--color-text-muted);margin:.45rem 0 0;font-size:.86rem;line-height:1.55}.about-supporting-work{margin-top:clamp(3.5rem,6vw,5.5rem)}.about-supporting-work>header{grid-template-columns:minmax(0,.72fr) minmax(260px,1fr);align-items:end;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.about-supporting-work h2{color:var(--color-text);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);margin:0;line-height:1.08}.about-supporting-work header p{max-width:52ch;color:var(--color-text-muted);font-size:var(--text-sm);margin:0;line-height:1.6}.about-supporting-work ul{border-block:1px solid var(--about-rule);grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.about-supporting-work li:nth-child(2n){border-left:1px solid var(--about-rule)}.about-supporting-work li:nth-child(n+3){border-top:1px solid var(--about-rule)}.about-supporting-work a{min-height:148px;color:var(--color-text);grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:.35rem 1rem;padding:1rem 1.2rem;display:grid}.about-supporting-work a:hover{background:var(--color-primary-soft);color:var(--about-blue)}.about-supporting-work a>span,.about-supporting-work a>strong,.about-supporting-work a>p{grid-column:1}.about-supporting-work a>span{color:var(--about-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);line-height:1.35}.about-supporting-work a>strong{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.15}.about-supporting-work a>p{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.84rem;line-height:1.52}.about-supporting-work a>svg{color:var(--about-blue);transition:transform var(--duration-fast) var(--ease-standard);grid-area:1/2/4}.about-supporting-work a:hover>svg{transform:translate(4px)}.about-contact-register{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(3rem,5vw,4.5rem);display:grid}.about-contact-register a{min-width:0;min-height:52px;color:var(--about-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight);transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.about-contact-register a+a{border-left:1px solid var(--about-rule)}.about-contact-register a:hover{background:var(--color-primary-soft);color:var(--color-accent-hover)}@media (max-width:1120px){.about-field-container,.site-shell-container{width:min(100% - 48px, var(--container))}.about-field-layout{grid-template-columns:1fr;gap:clamp(3.5rem,7vw,5rem)}.about-identity-rail{border-right:0;border-bottom:1px solid var(--about-rule);grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);gap:2.25rem;padding:0 0 2.75rem;display:grid;position:static}.about-portrait{aspect-ratio:5/4}.about-identity-figure figcaption{border-bottom:0;padding-bottom:0}.about-capability-index{align-self:end;margin-top:0}}@media (max-width:720px){.about-field-container,.site-shell-container{width:min(100% - 32px, var(--container))}.about-field-section{padding-block:2rem 4.5rem}.about-identity-rail{grid-template-columns:minmax(128px,.62fr) minmax(0,1fr);align-items:end;gap:1.25rem}.about-portrait{aspect-ratio:4/5;object-position:50% 30%}.about-identity-figure figcaption{padding-top:1.15rem}.about-intro h1{max-width:13ch;font-size:var(--hero-title-size-mobile)}.about-principles ul{grid-template-columns:1fr}.about-principles li{padding:1.1rem 0}.about-principles li+li{border-top:1px solid var(--about-rule);border-left:0}.about-supporting-work>header,.about-supporting-work ul{grid-template-columns:1fr}.about-supporting-work li:nth-child(2n){border-left:0}.about-supporting-work li+li{border-top:1px solid var(--about-rule)}.about-supporting-work a{padding-inline:0}.about-contact-register{grid-template-columns:repeat(2,minmax(0,1fr))}.about-contact-register a{border-bottom:1px solid var(--about-rule)}.about-contact-register a:nth-child(3){border-left:0}}@media (max-width:430px){.about-contact-register{grid-template-columns:1fr}.about-contact-register a+a{border-left:0;padding-left:0}.about-contact-register a{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.about-interview ol:before{animation:none}.about-contact-register a,.about-supporting-work a>svg{transition:none}}.resume-page{--resume-blue:var(--color-accent);--resume-blue-dark:var(--color-primary);--resume-blue-soft:var(--color-primary-soft);--resume-card-border:var(--color-border);--resume-card-shadow:var(--shadow-card);--resume-timeline-line:var(--color-border);background:var(--color-bg)}.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);background:var(--color-surface-raised);box-shadow:var(--resume-card-shadow);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);background:var(--color-surface-raised);min-height:390px;box-shadow:var(--resume-card-shadow);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{background:var(--resume-timeline-line);content:"";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-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-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);background:var(--color-surface-raised);min-height:360px;box-shadow:var(--resume-card-shadow);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);background:var(--color-surface-raised);box-shadow:var(--resume-card-shadow);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);background:var(--color-surface-raised);min-height:128px;box-shadow:var(--resume-card-shadow);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{background:var(--color-surface-raised);width:82px;height:82px;color:var(--color-primary);border-radius:8px;place-items:center;display:inline-grid;overflow:hidden}.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:2.25rem 1.25rem}.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-header h1{font-size:var(--hero-title-size-mobile)}.project-detail-logo{order:-1;width:64px;height:64px}.case-metadata-grid{grid-template-columns:1fr}.case-metadata-card,.case-metadata-card:first-child{padding-inline:0}.case-metadata-card+.case-metadata-card{border-top:1px solid var(--case-line);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:var(--hero-title-size-mobile)}.home-hero-title{font-size:var(--hero-title-size-mobile);line-height:1}.home-contact-action{overflow-wrap:anywhere}.resume-company-block,.resume-education-card{grid-template-columns:1fr}}@media (orientation:landscape) and (max-width:900px) and (max-height:500px){.hero-section{padding-block:1.75rem 1.25rem}.home-hero-title{font-size:clamp(2.25rem,7vw,3rem);line-height:1}.home-hero-actions{margin-top:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-featured-traces path{stroke-dashoffset:0;animation:none!important}.skip-link,.nav-link:after{transition:none}:where(.button,.home-project-card,.project-logo,.lucide-arrow-right,.lucide-arrow-left,.lucide-arrow-up-right){transform:none!important}}.writing-page,.writing-article-page{--writing-blue:var(--color-accent);--writing-line:var(--color-border);--writing-line-strong:color-mix(in oklch, var(--color-accent) 48%, var(--color-border));--writing-paper:var(--color-paper);--writing-ink:var(--color-ink);--writing-muted:var(--color-ink-muted);background:var(--writing-paper)}.writing-index-section{padding-block:clamp(2.8rem,6vw,5.8rem) clamp(3.5rem,7vw,6.4rem)}.writing-index-header{max-width:850px}.writing-label,.writing-featured-label,.writing-article-topic,.writing-row-title>p,.writing-project-callout>p:first-child{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;margin:0;line-height:1.2}.writing-index-header h1,.writing-article-header h1,.writing-featured-copy h2,.writing-row-title h2,.writing-prose-section h2,.writing-project-callout h2,.writing-related-section h2{font-family:var(--font-display);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);text-wrap:balance}.writing-index-header h1{max-width:820px;color:var(--writing-ink);margin:0;font-size:clamp(3.15rem,6.15vw,5.15rem);line-height:.99}.writing-index-header>p:last-child{max-width:675px;color:var(--writing-muted);font-size:clamp(1rem,1.35vw,1.12rem);font-weight:var(--lead-text-weight);line-height:var(--lead-line-height);margin:1.55rem 0 0}.writing-atlas-layout{grid-template-columns:minmax(0,1.86fr) minmax(260px,.74fr);align-items:start;gap:clamp(2.8rem,5vw,5.4rem);margin-top:clamp(2.7rem,5vw,4.6rem);display:grid}.writing-featured-article{min-width:0}.writing-featured-link{border:1px solid var(--writing-blue);min-height:460px;color:var(--writing-ink);isolation:isolate;transition:background-color var(--duration-base) var(--ease-standard);display:block;position:relative;overflow:hidden}.writing-featured-link:hover{background:color-mix(in oklch, var(--color-primary-soft) 38%, var(--writing-paper))}.writing-featured-copy{z-index:2;flex-direction:column;align-items:flex-start;max-width:72%;min-height:458px;padding:clamp(1.65rem,3vw,2.25rem);display:flex;position:relative}.writing-featured-copy h2{max-width:610px;margin:0;font-size:clamp(2rem,3.1vw,2.55rem);line-height:1.08}.writing-featured-label{margin-top:.9rem}.writing-featured-copy>p:not(.writing-featured-label,.writing-article-meta){max-width:560px;color:var(--writing-muted);font-size:var(--text-base);margin:1.15rem 0 0;line-height:1.65}.writing-read-link{min-height:44px;color:var(--writing-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight);align-items:center;gap:.55rem;margin-top:.9rem;display:inline-flex}.writing-article-meta{color:var(--writing-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.65rem 1rem;margin:0;line-height:1.4;display:flex}.writing-article-meta span{align-items:center;gap:.45rem;display:inline-flex}.writing-read-link svg,.writing-row-arrow,.writing-project-callout a svg,.writing-related-section a svg{transition:transform var(--duration-base) var(--ease-standard)}.writing-featured-link:hover .writing-read-link svg,.writing-index-row a:hover .writing-row-arrow,.writing-project-callout a:hover svg,.writing-related-section a:hover svg{transform:translate(4px)}.writing-featured-copy .writing-article-meta{margin-top:auto;padding-top:1.5rem}.writing-contours{z-index:1;width:46%;height:100%;color:color-mix(in oklch, var(--writing-blue) 48%, transparent);pointer-events:none;position:absolute;top:0;right:-1px}.writing-contours path{stroke-dasharray:780;stroke-dashoffset:780px;animation:writing-contours-resolve .9s .12s var(--ease-arrival) forwards}.writing-topic-atlas{min-width:0;padding-bottom:.25rem;position:relative}.writing-topic-heading{border-bottom:1px solid var(--writing-line);padding-bottom:1rem}.writing-topic-heading h2{color:var(--writing-blue);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:800;line-height:1.2}.writing-topic-heading p{color:var(--writing-muted);font-size:var(--text-sm);margin:.95rem 0 0;line-height:1.5}.writing-atlas-bridge{border-top:1px solid var(--writing-blue);border-left:1px solid var(--writing-blue);pointer-events:none;border-radius:18px 0 0;width:clamp(3.15rem,5vw,5.45rem);height:3.2rem;position:absolute;top:7.35rem;right:calc(100% - 7px)}.writing-topic-list{margin:0;padding:1.25rem 0 0 1.7rem;list-style:none;display:grid}.writing-topic-list:before{background:var(--writing-line-strong);content:"";width:1px;position:absolute;top:7.35rem;bottom:1.8rem;left:7px}.writing-topic-list li{position:relative}.writing-topic-list li:before{z-index:1;border:1px solid var(--writing-blue);background:var(--writing-paper);content:"";border-radius:50%;width:13px;height:13px;position:absolute;top:.45rem;left:-1.7rem}.writing-topic-list li:first-child:before{border-width:2px}.writing-topic-list a{min-height:44px;color:var(--writing-ink);gap:.28rem;padding:0 0 1.3rem .2rem;display:grid}.writing-topic-title{color:var(--writing-blue);font-size:var(--text-base);font-weight:700;line-height:1.3}.writing-topic-description,.writing-topic-count{color:var(--writing-muted);font-size:var(--text-sm);line-height:1.5}.writing-topic-count{color:var(--writing-ink);font-size:var(--text-xs)}.writing-index-list{border-top:1px solid var(--writing-line);margin-top:clamp(2.5rem,4vw,3.5rem)}.writing-index-row{border-bottom:1px solid var(--writing-line)}.writing-index-row>a{min-height:150px;color:var(--writing-ink);transition:background-color var(--duration-base) var(--ease-standard);grid-template-columns:minmax(250px,1.08fr) minmax(230px,.96fr) minmax(172px,.45fr) 32px;align-items:center;gap:clamp(1.2rem,3vw,2.7rem);padding-block:1.65rem;display:grid}.writing-index-row>a:hover{background:color-mix(in oklch, var(--color-primary-soft) 28%, transparent)}.writing-row-title>p{display:none}.writing-row-title h2{margin:0;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.12}.writing-row-description{color:var(--writing-muted);font-size:var(--text-sm);margin:0;line-height:1.65}.writing-index-row .writing-article-meta{gap:.65rem;display:grid}.writing-row-arrow{color:var(--writing-blue);justify-self:end}.writing-article-hero{padding-block:clamp(2.2rem,5vw,4.8rem) clamp(2.7rem,6vw,5.4rem)}.writing-back-link{min-height:44px;color:var(--writing-blue);font-size:var(--text-sm);align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.writing-article-header{max-width:920px;margin-top:clamp(1.7rem,4vw,3.4rem)}.writing-article-header h1{max-width:900px;margin:0;font-size:clamp(3rem,6vw,5.4rem);line-height:.98}.writing-direct-answer{max-width:780px;color:var(--writing-ink);margin:1.5rem 0 0;font-size:clamp(1.12rem,1.85vw,1.4rem);font-weight:620;line-height:1.62}.writing-article-topic{margin-top:1.4rem}.writing-article-dek{max-width:760px;color:var(--writing-muted);margin:1.5rem 0 0;font-size:clamp(1.05rem,1.65vw,1.25rem);line-height:1.65}.writing-article-hero-meta{margin-top:1.6rem}.writing-review-register{border-block:1px solid var(--writing-line);grid-template-columns:minmax(170px,.4fr) minmax(0,1fr);max-width:820px;margin:1.4rem 0 0;display:grid}.writing-review-register>div{align-content:start;gap:.38rem;padding-block:.9rem;display:grid}.writing-review-register>div+div{border-left:1px solid var(--writing-line);padding-left:1.25rem}.writing-review-register dt{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;line-height:1.2}.writing-review-register dd{color:var(--writing-muted);font-size:var(--text-sm);margin:0;line-height:1.55}.writing-review-register a{color:var(--writing-blue);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--writing-blue) 42%, transparent);text-decoration-color:color-mix(in srgb, var(--writing-blue) 42%, transparent);text-underline-offset:.18em;font-weight:700}.writing-question-strip{border-top:1px solid var(--writing-line);border-bottom:1px solid var(--writing-line);grid-template-columns:minmax(150px,.3fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,3.4rem);max-width:980px;margin-top:clamp(2rem,4vw,3.3rem);padding-block:1.25rem;display:grid}.writing-question-strip>p{color:var(--writing-blue);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:800}.writing-question-strip ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.writing-question-strip li{color:var(--writing-muted);font-size:var(--text-sm);line-height:1.5}.writing-article-body-section{padding-block:clamp(3rem,6vw,5.5rem)}.writing-article-layout{grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6.5rem);max-width:1050px;margin-inline:auto;display:grid}.writing-article-toc{position:sticky;top:6rem}.writing-article-toc>p{color:var(--writing-blue);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem;font-weight:800}.writing-article-toc ol{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.writing-article-toc a{border-bottom:1px solid var(--writing-line);min-height:44px;color:var(--writing-muted);font-size:var(--text-sm);align-items:center;padding-block:.65rem;font-weight:620;line-height:1.35;display:flex}.writing-article-toc a:hover{color:var(--writing-blue)}.writing-article-content{min-width:0;max-width:75ch}.writing-applicability{border-block:1px solid var(--writing-blue);scroll-margin-top:5rem}.writing-applicability>h2{border-bottom:1px solid var(--writing-line);color:var(--writing-blue);font-size:var(--text-sm);margin:0;padding-block:1rem;font-weight:800}.writing-applicability>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.writing-applicability section{padding-block:1.15rem 1.3rem}.writing-applicability section+section{border-left:1px solid var(--writing-line);padding-left:1.4rem}.writing-applicability h3{color:var(--writing-ink);font-size:var(--text-sm);margin:0}.writing-applicability ul{gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.writing-applicability li{color:var(--writing-muted);font-size:var(--text-sm);padding-left:1rem;line-height:1.55;position:relative}.writing-applicability li:before{border:1px solid var(--writing-blue);content:"";width:5px;height:5px;position:absolute;top:.62em;left:0}.writing-key-points{border-top:1px solid var(--writing-blue);border-bottom:1px solid var(--writing-blue);margin-top:clamp(2.5rem,5vw,4rem);padding-block:1.35rem}.writing-key-points h2{color:var(--writing-blue);font-size:var(--text-sm);margin:0;font-weight:800}.writing-key-points ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.writing-key-points li{color:var(--writing-ink);font-size:var(--text-sm);padding-left:1rem;line-height:1.55;position:relative}.writing-key-points li:before{background:var(--writing-blue);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.writing-prose-section{padding-top:clamp(3rem,7vw,5.5rem);scroll-margin-top:5rem}.writing-prose-section h2{max-width:680px;margin:0 0 1.3rem;font-size:clamp(2rem,3.8vw,2.75rem);line-height:1.08}.writing-prose-section>p{color:var(--writing-muted);margin:1rem 0 0;font-size:clamp(1rem,1.25vw,1.08rem);line-height:1.78}.writing-inline-citations{color:var(--writing-ink);font-size:.92em}.writing-inline-citations a{color:var(--writing-blue);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--writing-blue) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--writing-blue) 45%, transparent);text-underline-offset:.18em;font-weight:720;text-decoration-thickness:1px}.writing-inline-citations a:hover{text-decoration-color:currentColor}.writing-checklist{border-top:1px solid var(--writing-line);margin-top:2rem;padding-top:1.25rem}.writing-checklist h3{color:var(--writing-ink);font-size:var(--text-base);margin:0;font-weight:780}.writing-checklist ul{gap:0;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.writing-checklist li{border-bottom:1px solid var(--writing-line);color:var(--writing-muted);font-size:var(--text-base);padding:.8rem 0 .8rem 1.55rem;line-height:1.6;position:relative}.writing-checklist li:before{border:1px solid var(--writing-blue);content:"";width:9px;height:9px;position:absolute;top:1.1rem;left:0}.writing-process-diagram{border-block:1px solid var(--writing-blue);margin:clamp(3rem,7vw,5.5rem) 0 0;padding-block:1.5rem}.writing-process-diagram figcaption{grid-template-columns:minmax(110px,.28fr) minmax(180px,.52fr) minmax(0,1fr);align-items:baseline;gap:1.25rem;display:grid}.writing-process-diagram figcaption>span,.writing-code-language{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;line-height:1.2}.writing-process-diagram figcaption strong{color:var(--writing-ink);font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2}.writing-process-diagram figcaption p{color:var(--writing-muted);font-size:var(--text-sm);margin:0;line-height:1.55}.writing-process-diagram figcaption>div>a{min-height:44px;color:var(--writing-blue);font-size:var(--text-xs);align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.writing-process-diagram ol{border-top:1px solid var(--writing-line);border-bottom:1px solid var(--writing-line);grid-template-columns:repeat(5,minmax(0,1fr));margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.writing-process-diagram li{align-content:start;gap:.42rem;min-width:0;min-height:136px;padding:1rem 1.2rem 1rem 0;display:grid;position:relative}.writing-process-diagram li+li{border-left:1px solid var(--writing-line);padding-left:1.2rem}.writing-diagram-index{color:var(--writing-blue);font-family:var(--font-code);font-size:var(--text-xs)}.writing-process-diagram li strong{color:var(--writing-ink);font-size:var(--text-sm);line-height:1.35}.writing-process-diagram li>span:last-of-type{color:var(--writing-muted);font-size:var(--text-xs);line-height:1.45}.writing-diagram-arrow{z-index:1;border:1px solid var(--writing-line-strong);background:var(--color-surface-muted);color:var(--writing-blue);padding:3px;position:absolute;top:50%;right:-9px;transform:translateY(-50%)rotate(-90deg)}.writing-artifact{padding-top:clamp(4rem,8vw,6.5rem);scroll-margin-top:5rem}.writing-artifact-header{border-block:1px solid var(--writing-blue);grid-template-columns:30px minmax(0,1fr);gap:.9rem;padding-block:1.4rem 1.5rem;display:grid}.writing-artifact-header>svg{color:var(--writing-blue);margin-top:.3rem}.writing-artifact-header h2{max-width:660px;color:var(--writing-ink);font-family:var(--font-display);font-size:clamp(var(--text-2xl), 3.5vw, var(--text-3xl));font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);line-height:1.08}.writing-artifact-header p{max-width:660px;color:var(--writing-muted);font-size:var(--text-base);margin-top:.8rem;line-height:1.65}.writing-artifact-meta{flex-wrap:wrap;align-items:center;gap:.55rem 1.2rem;margin-top:1.1rem;display:flex}.writing-artifact-meta>span,.writing-artifact-meta a{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:.04em;line-height:1.4}.writing-artifact-meta>span{text-transform:uppercase}.writing-artifact-meta a{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--writing-blue) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--writing-blue) 40%, transparent);align-items:center;gap:.3rem;display:inline-flex}.writing-artifact-meta a:hover{text-decoration-color:currentColor}.writing-artifact-body{margin-top:1.4rem}.writing-artifact-code{background:var(--color-dark);min-width:0;color:var(--color-on-dark);margin:0}.writing-artifact-code figcaption{border-bottom:1px solid color-mix(in oklch, var(--color-on-dark) 18%, transparent);justify-content:space-between;align-items:center;gap:1rem;min-height:44px;padding:.65rem 1rem;display:flex}.writing-artifact-code-filename{color:color-mix(in oklch, var(--color-on-dark) 88%, transparent);font-size:var(--text-sm);font-weight:650}.writing-artifact-code-language{color:color-mix(in oklch, var(--color-on-dark) 62%, transparent);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.writing-artifact-code-scroll{max-width:100%;overflow-x:auto}.writing-artifact-code pre{width:max-content;min-width:100%;font-family:var(--font-code);tab-size:2;margin:0;padding:1.2rem;font-size:clamp(.76rem,1.2vw,.86rem);line-height:1.7}.writing-artifact-code code{font-family:inherit}.writing-artifact-table-wrap{border-bottom:1px solid var(--writing-blue);max-width:100%;overflow-x:auto}.writing-artifact-table-wrap table{border-collapse:collapse;width:100%;min-width:720px;color:var(--writing-muted);font-size:var(--text-sm);text-align:left;line-height:1.5}.writing-artifact-table-wrap :where(th,td){border-bottom:1px solid var(--writing-line);vertical-align:top;padding:.85rem 1rem .85rem 0}.writing-artifact-table-wrap thead th{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:.04em;text-transform:uppercase}.writing-artifact-table-wrap tbody th{color:var(--writing-ink);font-weight:720}.writing-artifact-table-wrap tbody tr:last-child :where(th,td){border-bottom:0}.writing-schema-layout{gap:1.5rem;display:grid}.writing-schema-table tbody th,.writing-schema-table td:nth-child(2){font-family:var(--font-code);font-size:var(--text-sm)}.writing-schema-table td:nth-child(3){color:var(--writing-blue);font-size:var(--text-xs);text-transform:uppercase;font-weight:750}.writing-architecture-lanes{border-bottom:1px solid var(--writing-blue)}.writing-architecture-lanes>section{border-bottom:1px solid var(--writing-line);grid-template-columns:minmax(170px,.6fr) minmax(0,1fr);gap:1.5rem;padding-block:1.25rem;display:grid}.writing-architecture-lanes>section:last-child{border-bottom:0}.writing-architecture-lane-heading{grid-template-columns:30px minmax(0,1fr);align-content:start;gap:.3rem .6rem;display:grid}.writing-architecture-lane-heading span{color:var(--writing-blue);font-family:var(--font-code);font-size:var(--text-xs);grid-row:1/3}.writing-architecture-lane-heading h3{color:var(--writing-ink);font-size:var(--text-base);line-height:1.3}.writing-architecture-lane-heading p{color:var(--writing-muted);font-size:var(--text-xs);line-height:1.45}.writing-architecture-lanes ul{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;list-style:none;display:grid}.writing-architecture-lanes li{border-left:1px solid var(--writing-line);min-height:70px;color:var(--writing-ink);font-size:var(--text-sm);align-items:center;padding:.7rem .9rem;font-weight:680;line-height:1.4;display:flex}.writing-architecture-flows{border-bottom:1px solid var(--writing-line);grid-template-columns:repeat(3,minmax(0,1fr));list-style-position:inside;display:grid}.writing-architecture-flows li{color:var(--writing-muted);font-size:var(--text-xs);padding:1rem .9rem 1rem 0;line-height:1.5}.writing-state-machine{border-top:1px solid var(--writing-line);border-bottom:1px solid var(--writing-blue);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.writing-state-machine>li{border-bottom:1px solid var(--writing-line);min-width:0;padding:1.15rem 1.25rem 1.2rem 0}.writing-state-machine>li:nth-child(2n){border-left:1px solid var(--writing-line);padding-left:1.25rem}.writing-state-machine>li:nth-last-child(-n+2){border-bottom:0}.writing-state-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem .8rem;display:flex}.writing-state-heading strong{color:var(--writing-ink);font-family:var(--font-display);font-size:var(--text-lg);line-height:1.25}.writing-state-heading span{color:var(--writing-blue);font-size:var(--text-xs);text-transform:uppercase;font-weight:760}.writing-state-machine>li>p{color:var(--writing-muted);font-size:var(--text-sm);margin-top:.55rem;line-height:1.5}.writing-state-machine ul{gap:.25rem;margin-top:.8rem;list-style:none;display:grid}.writing-state-machine ul li{color:var(--writing-ink);font-family:var(--font-code);font-size:var(--text-xs);line-height:1.45}.writing-verification-pipeline{border-bottom:1px solid var(--writing-blue);list-style:none}.writing-verification-pipeline>li{border-bottom:1px solid var(--writing-line);grid-template-columns:minmax(110px,.32fr) minmax(0,1fr);gap:1.2rem;padding-block:1.1rem;display:grid}.writing-verification-pipeline>li:last-child{border-bottom:0}.writing-pipeline-stage{align-items:baseline;gap:.6rem;display:flex}.writing-pipeline-stage span{color:var(--writing-blue);font-family:var(--font-code);font-size:var(--text-xs)}.writing-pipeline-stage strong{color:var(--writing-ink);font-size:var(--text-sm)}.writing-verification-pipeline dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.3rem;display:grid}.writing-verification-pipeline dt{color:var(--writing-blue);font-size:var(--text-xs);text-transform:uppercase;font-weight:760}.writing-verification-pipeline dd{color:var(--writing-muted);font-size:var(--text-xs);margin-top:.2rem;line-height:1.45}.writing-download-layout,.writing-implementation-layout{gap:1.4rem;display:grid}.writing-download-link{border-bottom:1px solid var(--writing-blue);min-height:74px;color:var(--writing-blue);grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:.8rem;padding:.75rem 0;display:grid}.writing-download-link>span{gap:.2rem;display:grid}.writing-download-link strong{color:var(--writing-ink);font-size:var(--text-base)}.writing-download-link span span{color:var(--writing-muted);font-size:var(--text-xs)}.writing-download-link>svg:last-child{transition:transform var(--duration-base) var(--ease-standard)}.writing-download-link:hover>svg:last-child{transform:translateY(3px)}.writing-artifact-checks,.writing-implementation-guarantees ul{grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.writing-artifact-checks li,.writing-implementation-guarantees li{border-bottom:1px solid var(--writing-line);color:var(--writing-muted);font-size:var(--text-sm);padding:.85rem 1rem .85rem 0;line-height:1.5}.writing-artifact-checks li:nth-child(2n),.writing-implementation-guarantees li:nth-child(2n){border-left:1px solid var(--writing-line);padding-left:1rem}.writing-implementation-guarantees h3{color:var(--writing-ink);font-size:var(--text-base)}.writing-implementation-guarantees ul{margin-top:.6rem}.writing-code-section,.writing-decision-section,.writing-failure-section,.writing-repository-section{padding-top:clamp(3.5rem,7vw,5.5rem);scroll-margin-top:5rem}.writing-evidence-heading{border-bottom:1px solid var(--writing-blue);grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.85rem;padding-bottom:1.15rem;display:grid}.writing-evidence-heading>svg{color:var(--writing-blue);margin-top:.28rem}.writing-evidence-heading h2{color:var(--writing-ink);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);margin:0;line-height:1.08}.writing-evidence-heading p{color:var(--writing-muted);font-size:var(--text-sm);margin:.55rem 0 0;line-height:1.55}.writing-code-list{gap:1.25rem;margin-top:1.4rem;display:grid}.writing-code-example{border:1px solid color-mix(in oklch, var(--color-primary) 84%, var(--writing-line));background:var(--color-dark);min-width:0;color:var(--color-on-dark);margin:0}.writing-code-example figcaption{border-bottom:1px solid color-mix(in oklch, var(--color-on-dark) 18%, transparent);justify-content:space-between;align-items:center;gap:1rem;min-height:46px;padding:.7rem 1rem;display:flex}.writing-code-example figcaption>span:first-child{color:color-mix(in oklch, var(--color-on-dark) 86%, transparent);font-size:var(--text-sm);font-weight:650;line-height:1.4}.writing-code-language{color:color-mix(in oklch, var(--color-on-dark) 65%, transparent)}.writing-code-scroll{max-width:100%;overflow-x:auto}.writing-code-example pre{width:max-content;min-width:100%;font-family:var(--font-code);tab-size:2;margin:0;padding:1.15rem 1.2rem 1.3rem;font-size:clamp(.78rem,1.2vw,.88rem);line-height:1.7}.writing-code-example code{font-family:inherit}.writing-decision-list{margin:0;padding:0;list-style:none}.writing-decision-list li{border-bottom:1px solid var(--writing-line);grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:.45rem 1.5rem;padding-block:1.25rem;display:grid}.writing-decision-list strong{color:var(--writing-ink);font-family:var(--font-display);font-size:var(--text-lg);grid-row:1/3;line-height:1.25}.writing-decision-list p,.writing-decision-list span{color:var(--writing-muted);font-size:var(--text-sm);margin:0;line-height:1.55}.writing-decision-list span{color:var(--writing-ink)}.writing-failure-list{border-bottom:1px solid var(--writing-line);margin:0}.writing-failure-row{border-bottom:1px solid var(--writing-line);grid-template-columns:minmax(145px,.62fr) repeat(2,minmax(0,1fr));gap:1.3rem;padding-block:1.15rem;display:grid}.writing-failure-row:last-child{border-bottom:0}.writing-failure-row dt{color:var(--writing-ink);font-size:var(--text-sm);font-weight:700;line-height:1.45}.writing-failure-row dd{margin:0}.writing-failure-row dd>span{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;margin-bottom:.3rem;display:block}.writing-failure-row dd>p{color:var(--writing-muted);font-size:var(--text-sm);margin:0;line-height:1.55}.writing-repository-section ul{margin:0;padding:0;list-style:none}.writing-repository-section li{border-bottom:1px solid var(--writing-line)}.writing-repository-section a{min-height:86px;color:var(--writing-ink);transition:background-color var(--duration-base) var(--ease-standard);grid-template-columns:minmax(170px,.48fr) minmax(0,1fr) 24px;align-items:center;gap:1.25rem;padding-block:1rem;display:grid}.writing-repository-section a:hover{background:color-mix(in oklch, var(--color-primary-soft) 28%, transparent)}.writing-repository-section strong{color:var(--writing-blue);font-size:var(--text-sm);line-height:1.4}.writing-repository-section span{color:var(--writing-muted);font-size:var(--text-sm);line-height:1.5}.writing-repository-section svg{color:var(--writing-blue);transition:transform var(--duration-base) var(--ease-standard)}.writing-repository-section a:hover svg{transform:translate(3px,-3px)}.writing-project-callout{border-top:1px solid var(--writing-blue);border-bottom:1px solid var(--writing-blue);margin-top:clamp(3.5rem,7vw,5.5rem);padding-block:1.6rem}.writing-project-callout h2{margin:0;font-size:clamp(1.8rem,3vw,2.3rem);line-height:1.1}.writing-project-callout>p{max-width:620px;color:var(--writing-muted);margin:.8rem 0 0;line-height:1.65}.writing-project-callout ul{border-top:1px solid var(--writing-line);margin:1.25rem 0 0;padding:0;list-style:none}.writing-project-callout li{border-bottom:1px solid var(--writing-line)}.writing-project-callout a{min-height:88px;color:var(--writing-ink);grid-template-columns:minmax(110px,.3fr) minmax(120px,.38fr) minmax(0,1fr) 22px;align-items:center;gap:1rem;padding-block:.9rem;display:grid}.writing-project-callout a:hover{color:var(--writing-blue)}.writing-project-callout a>span:first-child{color:var(--writing-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);line-height:1.4}.writing-project-callout a>strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}.writing-project-summary{color:var(--writing-muted);font-size:var(--text-sm);line-height:1.5}.writing-project-callout a>svg{color:var(--writing-blue)}.writing-related-section{margin-top:clamp(3.5rem,7vw,5.5rem)}.writing-related-section>h2{margin:0 0 1rem;font-size:clamp(1.8rem,3vw,2.35rem)}.writing-related-section ul{border-top:1px solid var(--writing-line);margin:0;padding:0;list-style:none}.writing-related-section li{border-bottom:1px solid var(--writing-line)}.writing-related-section a{min-height:84px;color:var(--writing-ink);grid-template-columns:minmax(110px,.35fr) minmax(0,1fr) 24px;align-items:center;gap:1.2rem;padding-block:1rem;display:grid}.writing-related-section a>span{color:var(--writing-blue);font-size:var(--text-xs);font-weight:750}.writing-related-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.25}.writing-related-section a>svg{color:var(--writing-blue)}.writing-updated-date{color:var(--writing-muted);font-size:var(--text-xs);margin:2rem 0 0}@keyframes writing-contours-resolve{to{stroke-dashoffset:0}}@media (max-width:980px){.writing-atlas-layout{grid-template-columns:minmax(0,1fr) 250px;gap:2.5rem}.writing-featured-copy{max-width:78%}.writing-index-row>a{grid-template-columns:minmax(230px,1fr) minmax(190px,.8fr) minmax(150px,.42fr) 28px;gap:1.25rem}.writing-question-strip{grid-template-columns:1fr}}@media (max-width:820px){.writing-atlas-layout{grid-template-columns:1fr}.writing-featured-copy{max-width:72%}.writing-topic-atlas{max-width:620px;margin-left:1rem}.writing-atlas-bridge{display:none}.writing-topic-list:before{top:7.35rem}.writing-index-row>a{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) 28px}.writing-index-row .writing-article-meta{grid-area:2/1/auto/3;display:flex}.writing-row-arrow{grid-area:1/3/3}.writing-article-layout{grid-template-columns:1fr}.writing-article-layout,.writing-article-toc,.writing-article-content{width:100%;min-width:0;max-width:100%}.writing-article-toc{position:static}.writing-article-toc ol{gap:.5rem;width:100%;max-width:100%;padding-bottom:.35rem;display:flex;overflow-x:auto}.writing-article-toc li{flex:none}.writing-article-toc a{border:1px solid var(--writing-line);white-space:nowrap;padding:.5rem .65rem}.writing-process-diagram ol{grid-template-columns:1fr}.writing-process-diagram li{grid-template-columns:38px minmax(110px,.35fr) minmax(0,1fr);align-items:baseline;min-height:0;padding:.9rem 0}.writing-process-diagram li+li{border-top:1px solid var(--writing-line);border-left:0;padding-left:0}.writing-diagram-arrow{inset:auto auto -9px 10px;transform:none}.writing-architecture-lanes ul,.writing-architecture-flows{grid-template-columns:1fr}.writing-architecture-lanes li{border-top:1px solid var(--writing-line);border-left:0;min-height:48px;padding-inline:0}.writing-architecture-flows li{border-bottom:1px solid var(--writing-line)}}@media (max-width:640px){.writing-index-header h1,.writing-article-header h1{font-size:var(--hero-title-size-mobile)}.writing-featured-link,.writing-featured-copy{min-height:450px}.writing-featured-copy{max-width:100%;padding:1.35rem}.writing-featured-copy h2{max-width:88%}.writing-featured-copy>p:not(.writing-featured-label,.writing-article-meta){max-width:92%}.writing-contours{opacity:.55;width:72%;right:-15%}.writing-index-row>a{grid-template-columns:minmax(0,1fr) 26px;gap:.9rem;min-height:0;padding-block:1.5rem}.writing-row-title>p{margin-top:.55rem;display:block}.writing-row-description{grid-column:1}.writing-index-row .writing-article-meta{grid-area:auto/1}.writing-row-arrow{grid-area:1/2/4}.writing-question-strip ul,.writing-key-points ul,.writing-review-register,.writing-applicability>div{grid-template-columns:1fr}.writing-review-register>div+div,.writing-applicability section+section{border-top:1px solid var(--writing-line);border-left:0;padding-left:0}.writing-related-section a{grid-template-columns:1fr 24px;gap:.45rem 1rem}.writing-related-section a>span,.writing-related-title{grid-column:1}.writing-related-section a>svg{grid-area:1/2/3}.writing-project-callout a{grid-template-columns:minmax(0,1fr) 24px;gap:.35rem 1rem}.writing-project-callout a>span,.writing-project-callout a>strong{grid-column:1}.writing-project-callout a>svg{grid-area:1/2/4}.writing-process-diagram figcaption{grid-template-columns:1fr;gap:.55rem}.writing-artifact-header{grid-template-columns:25px minmax(0,1fr)}.writing-architecture-lanes>section,.writing-verification-pipeline>li{grid-template-columns:1fr;gap:.9rem}.writing-state-machine,.writing-artifact-checks,.writing-implementation-guarantees ul{grid-template-columns:1fr}.writing-state-machine>li,.writing-state-machine>li:nth-child(2n){border-bottom:1px solid var(--writing-line);border-left:0;padding-inline:0}.writing-state-machine>li:last-child{border-bottom:0}.writing-verification-pipeline dl{grid-template-columns:1fr}.writing-artifact-checks li:nth-child(2n),.writing-implementation-guarantees li:nth-child(2n){border-left:0;padding-left:0}.writing-decision-list li,.writing-failure-row{grid-template-columns:1fr}.writing-decision-list strong{grid-row:auto}.writing-failure-row{gap:.5rem;padding-block:1.25rem}.writing-repository-section a{grid-template-columns:minmax(0,1fr) 24px;gap:.45rem 1rem}.writing-repository-section strong,.writing-repository-section span{grid-column:1}.writing-repository-section svg{grid-area:1/2/3}}@media (max-width:430px){.writing-index-section,.writing-article-hero{padding-top:2rem}.writing-featured-copy h2{font-size:1.9rem}.writing-topic-atlas{margin-left:0}.writing-featured-copy .writing-article-meta{display:grid}}@media (prefers-reduced-motion:reduce){.writing-contours path{stroke-dashoffset:0;animation:none}.writing-read-link svg,.writing-row-arrow,.writing-project-callout a svg,.writing-related-section a svg{transition:none}}.work-page{--work-blue:var(--color-accent);--work-line:var(--color-border);--work-line-soft:var(--color-border-soft);--work-paper:var(--color-paper);--work-ink:var(--color-ink);--work-muted:var(--color-ink-muted);background:var(--work-paper)}.case-section-copy{font-size:var(--text-md)}.work-register-section{padding-block:clamp(3rem,5.5vw,5.25rem) clamp(4.5rem,8vw,7rem)}.work-register-layout{grid-template-columns:minmax(340px,.43fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,4vw,3.5rem);display:grid}.work-index-rail,.work-register{min-width:0}.work-index-rail{position:sticky;top:6.25rem}.work-index-intro h1{max-width:12ch;color:var(--work-ink);font-family:var(--font-display);font-size:clamp(3rem,3.8vw,3.75rem);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);text-wrap:balance;line-height:.98}.work-index-intro>p{max-width:36ch;color:var(--work-muted);font-size:var(--text-base);font-weight:var(--lead-text-weight);line-height:var(--lead-line-height);margin-top:1.4rem}.work-project-index{margin-top:clamp(2.5rem,4vw,3.6rem)}.work-project-index ol{border-top:1px solid var(--work-line);list-style:none}.work-project-index li{border-bottom:1px solid var(--work-line-soft)}.work-project-index a{min-height:50px;color:var(--work-muted);font-family:var(--font-display);grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.6rem .45rem;font-size:1rem;line-height:1.15;display:grid}.work-project-index a>span:first-child{color:var(--color-ink-soft);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:750}.work-project-index a:hover,.work-project-index a.is-featured{color:var(--work-blue)}.work-project-index a.is-featured{box-shadow:inset 1px 0 0 var(--work-blue);padding-left:.8rem;font-weight:700}.work-project-index a:hover{background:var(--color-primary-soft)}.work-registration-scale{color:var(--color-ink-soft);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;gap:.65rem;margin-top:clamp(3rem,7vh,6.5rem);font-weight:750;display:grid}.work-scale-line{border-bottom:1px solid var(--work-line);background:repeating-linear-gradient(90deg, var(--work-line) 0 1px, transparent 1px 12px);width:min(100%,240px);height:12px;display:block}.work-register-header{border-top:1px solid var(--work-blue);color:var(--work-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;justify-content:space-between;gap:1rem;padding-block:.85rem 1.4rem;line-height:1;display:flex}.work-featured-specimen,.work-project-record{scroll-margin-top:6.5rem}.work-featured-specimen{border-block:1px solid var(--work-blue);position:relative}.work-plate-number,.work-project-number{color:var(--work-blue);font-size:var(--text-xs);font-weight:800;line-height:1}.work-plate-number{z-index:3;position:absolute;top:1.55rem;left:1.1rem}.work-featured-specimen-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.43fr);min-height:570px;display:grid}.work-featured-specimen-main{min-width:0;padding:clamp(4.25rem,6vw,5.4rem) clamp(2rem,4vw,3.2rem) 2.6rem;position:relative;overflow:hidden}.work-featured-copy{z-index:2;max-width:72%;position:relative}.work-project-category,.work-featured-technologies>p,.work-featured-facts dt,.work-record-evidence dt,.work-record-proof>span,.work-proof-rail h3{color:var(--work-blue);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;line-height:1.2}.work-featured-copy h2,.work-record-heading h2{color:var(--work-ink);font-family:var(--font-display);font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);line-height:1}.work-featured-copy h2{font-size:var(--hero-title-size);margin-top:.9rem}.work-featured-summary{max-width:52ch;color:var(--work-muted);font-size:var(--text-base);margin-top:1.25rem;font-weight:400;line-height:1.6}.work-featured-facts{grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:1.5rem;margin-top:clamp(2rem,4vw,3rem);display:grid}.work-featured-facts div,.work-record-evidence dl div{min-width:0}.work-featured-facts dd,.work-record-evidence dd{color:var(--work-muted);font-size:var(--text-sm);margin:.5rem 0 0;font-weight:400;line-height:1.48}.work-featured-technologies{margin-top:1.65rem}.work-featured-technologies .tech-tag-list,.work-record-evidence .tech-tag-list{margin-top:.65rem}.work-page .tech-tag-list{gap:.38rem}.work-page .tech-tag{border-color:color-mix(in oklch, var(--work-blue) 50%, var(--work-line));min-height:25px;color:var(--color-tag-text);font-size:var(--text-xs);background:0 0;border-radius:6px;padding:.2rem .46rem;font-weight:650}.work-case-study-link,.work-record-link,.work-close-action{color:var(--work-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight)}.work-case-study-link{align-items:center;gap:.65rem;min-height:44px;margin-top:1.75rem;display:inline-flex}.work-case-study-link:hover,.work-record-link:hover,.work-close-link:hover .work-close-action{color:var(--color-accent-hover)}.work-case-study-link svg,.work-record-link svg,.work-close-action svg{transition:transform var(--duration-fast) var(--ease-standard)}.work-case-study-link:hover svg,.work-record-link:hover svg,.work-close-link:hover .work-close-action svg{transform:translate(4px)}.work-specimen-traces{z-index:1;pointer-events:none;width:48%;height:100%;position:absolute;top:0;right:-2.5rem}.work-specimen-traces path{fill:none;stroke:color-mix(in oklch, var(--work-blue) 58%, transparent);stroke-dasharray:760;stroke-dashoffset:760px;stroke-linecap:round;stroke-width:1px;animation:work-traces-resolve 1.08s var(--ease-arrival) forwards}.work-specimen-traces path:nth-child(2){animation-delay:45ms}.work-specimen-traces path:nth-child(3){animation-delay:90ms}.work-specimen-traces path:nth-child(4){animation-delay:.135s}.work-specimen-traces path:nth-child(5){animation-delay:.18s}.work-specimen-traces path:nth-child(6){animation-delay:.225s}.work-proof-rail{z-index:2;border-left:1px solid var(--work-blue);padding:2.45rem clamp(1.35rem,2.4vw,2rem);position:relative}.work-proof-rail ul{margin-top:1.2rem;list-style:none}.work-proof-rail li{border-top:1px solid var(--work-line);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:.8rem;padding-block:1.1rem;display:grid}.work-proof-rail li:last-child{border-bottom:1px solid var(--work-line)}.work-proof-rail li>svg{color:var(--work-blue)}.work-proof-rail li strong,.work-proof-rail li span span{display:block}.work-proof-rail li strong{color:var(--work-blue);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;font-weight:800;line-height:1.25}.work-proof-rail li span span{color:var(--work-muted);margin-top:.4rem;font-size:.75rem;line-height:1.52}.work-measurement-rule{border-top:1px solid var(--work-line);background:repeating-linear-gradient(90deg, var(--work-line) 0 1px, transparent 1px 14px);min-height:30px;color:var(--color-ink-soft);font-size:var(--text-xs);text-transform:uppercase;grid-template-columns:1fr 1fr auto;gap:1rem;padding:.55rem .2rem 0;display:grid}.work-measurement-rule span:nth-child(2){text-align:center}.work-register-list{border-top:1px solid var(--work-line)}.work-project-record{border-bottom:1px solid var(--work-line);grid-template-columns:34px minmax(190px,.76fr) minmax(280px,1.2fr) 180px;align-items:start;gap:clamp(1.1rem,2.5vw,2rem);padding:clamp(2rem,3.5vw,2.8rem) 0;display:grid}.work-project-number{padding-top:.35rem}.work-record-heading h2{font-size:var(--text-3xl);margin-top:.6rem}.work-record-heading>p:last-child{color:var(--work-muted);font-size:var(--text-sm);margin-top:.85rem;font-weight:400;line-height:1.55}.work-record-evidence dl{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:1.25rem;display:grid}.work-record-proof{color:var(--work-muted);font-size:var(--text-sm);margin-top:1.05rem;line-height:1.54}.work-record-proof>span{margin-bottom:.42rem;display:block}.work-record-link{white-space:nowrap;justify-content:flex-end;align-self:center;align-items:center;gap:.65rem;min-height:44px;display:flex}.work-close{border-block:1px solid var(--work-line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(3.5rem,6vw,5.5rem);display:grid}.work-close-link{align-content:space-between;gap:1.5rem;min-height:190px;padding:1.8rem 1.75rem;display:grid}.work-close-link+.work-close-link{border-left:1px solid var(--work-line)}.work-close-link:hover{background:var(--color-primary-soft)}.work-close-title,.work-close-description{display:block}.work-close-title{color:var(--work-ink);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.025em;font-weight:700;line-height:1.08}.work-close-description{max-width:39ch;color:var(--work-muted);font-size:var(--text-sm);margin-top:.8rem;line-height:1.55}.work-close-action{align-items:center;gap:.55rem;width:fit-content;min-height:44px;display:inline-flex}@keyframes work-traces-resolve{to{stroke-dashoffset:0}}@media (max-width:1180px){.work-register-layout{grid-template-columns:1fr}.work-index-rail{position:static}.work-index-intro h1{max-width:14ch}.work-index-intro>p{max-width:58ch}.work-project-index ol{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-project-index li{border-right:1px solid var(--work-line-soft)}.work-project-index a.is-featured{box-shadow:inset 0 -1px 0 var(--work-blue);padding-left:.45rem}.work-registration-scale{display:none}}@media (max-width:860px){.work-featured-specimen-layout{grid-template-columns:1fr}.work-featured-specimen-main{min-height:520px}.work-featured-copy{max-width:70%}.work-proof-rail{border-top:1px solid var(--work-blue);border-left:0}.work-proof-rail ul{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-proof-rail li:nth-child(2n){border-left:1px solid var(--work-line);padding-left:1rem}.work-project-record{grid-template-columns:34px minmax(190px,.8fr) minmax(250px,1.2fr) 44px}.work-record-link{justify-content:center;min-width:44px}.work-record-link span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:720px){.work-register-section{padding-top:2.4rem}.work-project-index{scrollbar-width:thin;width:calc(100% + 32px);margin-left:-16px;padding-inline:16px;overflow-x:auto}.work-project-index ol{width:max-content;display:flex}.work-project-index li{flex:0 0 174px;width:174px}.work-register-header{margin-top:.5rem}.work-featured-specimen-main{min-height:0;padding:4rem 1.15rem 2.4rem}.work-featured-copy{max-width:none}.work-featured-copy h2{font-size:3rem}.work-featured-summary{max-width:42ch}.work-featured-facts{grid-template-columns:1fr;gap:1.15rem}.work-specimen-traces{opacity:.42;width:60%;right:-6rem}.work-proof-rail{padding-inline:1.15rem}.work-proof-rail ul{grid-template-columns:1fr}.work-proof-rail li:nth-child(2n){border-left:0;padding-left:0}.work-proof-rail li span span{font-size:var(--text-sm)}.work-measurement-rule{margin-inline:0}.work-project-record{grid-template-columns:28px minmax(0,1fr) 44px;gap:.85rem}.work-record-heading,.work-record-evidence{grid-column:2}.work-record-evidence{margin-top:.6rem}.work-record-link{grid-area:1/3/span 2}.work-close{grid-template-columns:1fr}.work-close-link+.work-close-link{border-top:1px solid var(--work-line);border-left:0}}@media (max-width:480px){.work-index-intro h1{font-size:var(--hero-title-size-mobile)}.work-register-header span:last-child{display:none}.work-featured-copy h2{font-size:var(--hero-title-size-mobile)}.work-specimen-traces{display:none}.work-record-evidence dl{grid-template-columns:1fr;gap:1rem}.work-close-link{min-height:170px;padding-inline:1.1rem}}@media (prefers-reduced-motion:reduce){.work-specimen-traces path{stroke-dashoffset:0;animation:none}.work-case-study-link svg,.work-record-link svg,.work-close-action svg{transition:none}}.resume-page{--resume-blue:var(--color-accent);--resume-line:var(--color-border);background:var(--color-bg)}.resume-field-section{padding-block:clamp(3.75rem,6.5vw,6.5rem) clamp(5rem,9vw,8rem)}.resume-masthead{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:end;gap:clamp(3rem,7vw,7rem);display:grid}.resume-hero-copy h1{color:var(--color-text)}.resume-role{max-width:29ch;color:var(--color-text-muted);font-size:clamp(var(--text-lg), 1.6vw, var(--text-xl));letter-spacing:-.025em;margin-top:1.35rem;font-weight:650;line-height:1.35}.resume-introduction{max-width:720px}.resume-summary{max-width:66ch;color:var(--color-text-muted);font-size:clamp(1rem,1.25vw,1.14rem);font-weight:var(--lead-text-weight);margin:0;line-height:1.68}.resume-primary-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:2rem;display:flex}.resume-download-link{min-height:46px;padding-inline:1.1rem}.resume-email-link{min-height:44px;color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--action-font-weight);align-items:center;gap:.55rem;display:inline-flex}.resume-email-link:hover{color:var(--color-accent-hover)}.resume-email-link svg,.resume-project-link svg{transition:transform var(--duration-fast) var(--ease-standard)}.resume-email-link:hover svg,.resume-project-link:hover svg{transform:translate(4px)}.resume-profile-links{border-top:1px solid var(--resume-line);flex-wrap:wrap;gap:0;margin-top:1.5rem;display:flex}.resume-profile-links a{min-height:44px;color:var(--color-text-muted);font-size:.78rem;font-weight:var(--action-font-weight);align-items:center;gap:.45rem;padding-inline:.85rem;display:inline-flex}.resume-profile-links a:first-child{padding-left:0}.resume-profile-links a+a{border-left:1px solid var(--resume-line)}.resume-profile-links a:hover{color:var(--resume-blue)}.resume-fact-register{border-block:1px solid var(--resume-line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(3.25rem,6vw,5.75rem);display:grid}.resume-fact-register>div{min-width:0;padding:1.35rem clamp(1rem,2vw,1.5rem)}.resume-fact-register>div:first-child{padding-left:0}.resume-fact-register>div+div{border-left:1px solid var(--resume-line)}.resume-fact-register dt{color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;line-height:1.2}.resume-fact-register dd{color:var(--color-text);font-size:var(--text-sm);margin-top:.55rem;font-weight:650;line-height:1.5}.resume-fact-register .tech-tag-list{gap:.28rem}.resume-fact-register .tech-tag{min-height:24px;padding:.16rem .38rem}.resume-record-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:clamp(3rem,6vw,6rem);margin-top:clamp(4.5rem,8vw,7rem);display:grid}.resume-index{position:sticky;top:6.75rem}.resume-index>div{border-top:1px solid var(--resume-line)}.resume-index h2{color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--label-font-weight);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;padding-block:1rem .8rem;line-height:1.2}.resume-index nav{display:grid}.resume-index nav a{border-top:1px solid var(--resume-line);min-height:46px;color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;font-weight:700;display:flex}.resume-index nav a:last-child{border-bottom:1px solid var(--resume-line)}.resume-index nav a:hover{background:var(--color-primary-soft);color:var(--resume-blue);padding-left:.55rem}.resume-index>p{color:var(--color-text-soft);margin-top:1.35rem;font-size:.78rem;line-height:1.55}.resume-record{min-width:0;position:relative}.resume-record:before{background:var(--resume-blue);content:"";transform-origin:top;width:1px;animation:resume-path-arrive .84s var(--ease-arrival) both;position:absolute;top:0;bottom:0;left:-1.25rem}@keyframes resume-path-arrive{0%{transform:scaleY(0)}}.resume-section{border-top:1px solid var(--resume-line);margin:0;padding-block:1.35rem clamp(4.5rem,8vw,7rem);scroll-margin-top:7rem}.resume-section:last-of-type{padding-bottom:clamp(3.5rem,6vw,5rem)}.resume-section>h2{color:var(--color-text);font-family:var(--font-display);font-size:clamp(var(--text-2xl), 2.8vw, var(--text-3xl));font-weight:var(--editorial-font-weight);letter-spacing:var(--editorial-letter-spacing);text-transform:none;margin:0;line-height:1.05}.resume-section-intro{max-width:62ch;color:var(--color-text-muted);margin-top:.9rem;line-height:1.6}.resume-experience-list{margin-top:2rem;display:block}.resume-experience-item{border-top:1px solid var(--resume-line);grid-template-columns:minmax(165px,.3fr) minmax(0,1fr);gap:clamp(2rem,4.5vw,4.5rem);padding-top:1.75rem;display:grid}.resume-employer{min-width:0}.resume-company-logo-frame{background:var(--color-primary);place-items:center;width:152px;height:auto;min-height:46px;padding:.65rem .75rem;display:grid;overflow:hidden}.resume-company-logo{width:132px;max-width:100%;height:auto;display:block}.resume-employer h3{color:var(--color-text);font-size:var(--text-lg);letter-spacing:-.025em;margin-top:1.35rem;font-weight:850;line-height:1.1}.resume-employer p{color:var(--resume-blue);font-size:var(--text-sm);margin-top:.4rem;font-weight:800}.resume-employer time{color:var(--color-text-soft);margin-top:.7rem;font-size:.78rem;font-weight:700;display:block}.resume-experience-summary{max-width:68ch;color:var(--color-text);font-size:1rem;font-weight:650;line-height:1.62}.resume-bullet-list{color:var(--color-text-muted);font-size:var(--text-sm);gap:0;margin-top:1.15rem;line-height:1.6;list-style:none;display:grid}.resume-bullet-list li{border-top:1px solid var(--color-border-soft);padding:.9rem 0 .9rem 1.25rem;position:relative}.resume-bullet-list li:before{background:var(--resume-blue);content:"";border-radius:0;width:6px;height:6px;position:absolute;top:1.45rem;left:0}.resume-project-register{border-bottom:1px solid var(--resume-line);margin-top:2rem}.resume-project-row{border-top:1px solid var(--resume-line);min-height:132px;transition:background-color var(--duration-fast) var(--ease-standard);grid-template-columns:54px minmax(190px,.95fr) minmax(220px,1fr) 180px;align-items:center;gap:clamp(1rem,2.5vw,2rem);padding-block:1.25rem;display:grid}.resume-project-row:hover{background:var(--color-primary-soft)}.resume-project-row .project-logo-resume{border-radius:10px;width:48px;height:48px}.resume-project-copy h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--editorial-font-weight);letter-spacing:-.025em;line-height:1.1}.resume-project-copy p{max-width:48ch;color:var(--color-text-muted);font-size:var(--text-sm);margin-top:.45rem;line-height:1.5}.resume-project-stack{margin:0;padding:0}.resume-project-stack .tech-tag-list{gap:.3rem}.resume-project-stack .tech-tag{min-height:24px;padding:.16rem .38rem}.resume-project-link{min-height:44px;color:var(--resume-blue);font-size:var(--text-sm);font-weight:var(--action-font-weight);justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}.resume-project-link:hover{color:var(--color-accent-hover)}.resume-skills-register{border-bottom:1px solid var(--resume-line);margin-top:2rem}.resume-skill-row{border-top:1px solid var(--resume-line);grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);padding-block:1.35rem;display:grid}.resume-skill-row h3{color:var(--color-text);font-size:var(--text-sm);font-weight:800;line-height:1.35}.resume-skill-row .tech-tag-list{gap:.4rem}.resume-education-row{border-block:1px solid var(--resume-line);grid-template-columns:105px minmax(0,1fr);align-items:center;gap:1.75rem;margin-top:2rem;padding-block:1.4rem;display:grid}.resume-education-mark{background:var(--color-surface-raised);place-items:center;width:96px;height:74px;display:grid;overflow:hidden}.resume-education-logo{object-fit:contain;width:88px;height:auto;display:block}.resume-education-row h3{color:var(--color-text);font-family:var(--font-display);font-size:1.35rem;font-weight:var(--editorial-font-weight);letter-spacing:-.025em;line-height:1.1}.resume-education-row p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:.45rem}.resume-close{border-block:1px solid var(--resume-line);justify-content:space-between;align-items:center;gap:1.5rem;min-height:112px;display:flex}.resume-close p{color:var(--color-text);font-family:var(--font-display);font-size:clamp(var(--text-xl), 2vw, var(--text-2xl));letter-spacing:-.025em}@media (max-width:1080px){.resume-masthead{grid-template-columns:1fr;gap:2.25rem}.resume-introduction{max-width:760px}.resume-record-layout{grid-template-columns:minmax(0,1fr);gap:3.5rem}.resume-index{grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);align-items:end;gap:2.5rem;display:grid;position:static}.resume-index nav{grid-template-columns:repeat(4,minmax(0,1fr))}.resume-index nav a{border-bottom:1px solid var(--resume-line);justify-content:center}.resume-index nav a+a{border-left:1px solid var(--resume-line)}.resume-index>p{margin:0}.resume-record:before{display:none}.resume-project-row{grid-template-columns:54px minmax(0,1fr) 180px}.resume-project-stack{grid-column:2}.resume-project-link{grid-area:1/3/span 2}}@media (max-width:760px){.resume-field-section{padding-block:3.25rem 5rem}.resume-fact-register{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-fact-register>div{padding-left:1rem}.resume-fact-register>div:nth-child(odd){border-left:0;padding-left:0}.resume-fact-register>div:nth-child(n+3){border-top:1px solid var(--resume-line)}.resume-index{grid-template-columns:1fr;gap:1.25rem;min-width:0}.resume-index nav{scrollbar-width:thin;width:100%;max-width:100%;display:flex;overflow-x:auto}.resume-index nav a{flex:none;min-width:150px;padding-inline:.75rem}.resume-experience-item{grid-template-columns:1fr;gap:2rem}.resume-experience-detail{grid-column:auto}.resume-employer{grid-template-columns:152px minmax(0,1fr);align-items:center;gap:.2rem 1.25rem;display:grid}.resume-employer .resume-company-logo-frame{grid-row:1/span 3}.resume-employer h3,.resume-employer time{margin-top:0}.resume-project-row{grid-template-columns:48px minmax(0,1fr) 44px;gap:1rem}.resume-project-row .project-logo-resume{width:44px;height:44px}.resume-project-copy,.resume-project-stack{grid-column:2}.resume-project-link{grid-area:1/3/span 2}.resume-project-link span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.resume-skill-row{grid-template-columns:1fr;gap:.9rem}}@media (max-width:520px){.resume-primary-actions{flex-direction:column;align-items:stretch}.resume-download-link,.resume-email-link{justify-content:center}.resume-profile-links{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.resume-profile-links a{justify-content:center;padding-inline:.35rem}.resume-profile-links a:first-child{padding-left:.35rem}.resume-fact-register{grid-template-columns:1fr}.resume-fact-register>div,.resume-fact-register>div:nth-child(odd){border-left:0;padding-inline:0}.resume-fact-register>div+div{border-top:1px solid var(--resume-line)}.resume-employer{grid-template-columns:1fr}.resume-employer .resume-company-logo-frame{grid-row:auto;margin-bottom:.75rem}.resume-project-row{grid-template-columns:44px minmax(0,1fr) 32px;gap:.8rem}.resume-project-row .project-logo-resume{align-self:start}.resume-project-stack{grid-column:1/-1}.resume-project-link{grid-area:1/3}.resume-education-row{grid-template-columns:1fr}.resume-close{flex-direction:column;justify-content:center;align-items:stretch;padding-block:1.5rem}.resume-close .resume-download-link{justify-content:center}}@media (prefers-reduced-motion:reduce){.resume-record:before{animation:none}.resume-email-link svg,.resume-project-link svg{transition:none}}
