@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff")}@font-face{font-family:Geist;src:url(/fonts/GeistVF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMonoVF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--paper:#f6f5f1;--ink:#242427;--accent:#246b60;--muted:#62626a;--line:#d4d4d8;--wash:#eaeaec;--white:#f6f5f1;--work:#f0f0f2;--limits:#eaeaec;--button-bg:#246b60;--button-text:#f6f5f1;--button-hover:#195449;--selection:#d4e7df;--error:#a52c30;--recommendation:#805400;--plate:#246b60;--plate-neutral:#d8dfd8;--portrait-blend:multiply;--portrait-paper:#e6e7df;--portrait-filter:grayscale(1) contrast(.92);--inverse-bg:#242427;--inverse-text:#f6f5f1;--inverse-muted:#c7c7ce;--inverse-accent:#93c9b7;--inverse-line:#414148;--inverse-button-hover:#d4e7df;--sans:Geist, system-ui, sans-serif;--mono:"Geist Mono", monospace;--serif:"Instrument Serif", Georgia, serif;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}:root[data-theme=dark]{--paper:#18181b;--ink:#f6f5f1;--accent:#93c9b7;--muted:#b7b7bf;--line:#414148;--wash:#27272b;--white:#f6f5f1;--work:#1f1f23;--limits:#27272b;--button-bg:#93c9b7;--button-text:#18181b;--button-hover:#b3ddcd;--selection:#304e41;--error:#ffacaf;--recommendation:#edcb83;--plate-neutral:#3f3f46;--portrait-blend:normal;--portrait-paper:#b7bdb3;--portrait-filter:grayscale(1) brightness(.78) contrast(.92);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--paper:#18181b;--ink:#f6f5f1;--accent:#93c9b7;--muted:#b7b7bf;--line:#414148;--wash:#27272b;--white:#f6f5f1;--work:#1f1f23;--limits:#27272b;--button-bg:#93c9b7;--button-text:#18181b;--button-hover:#b3ddcd;--selection:#304e41;--error:#ffacaf;--recommendation:#edcb83;--plate-neutral:#3f3f46;--portrait-blend:normal;--portrait-paper:#b7bdb3;--portrait-filter:grayscale(1) brightness(.78) contrast(.92);color-scheme:dark}}*{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,ol,ul,dl,dd{margin:0}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img,svg{max-width:100%;display:block}img{height:auto}p{line-height:1.7}ul,ol{padding:0;list-style:none}em{font-family:var(--serif);font-weight:400}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}section[id],div[id],main[id]{scroll-margin-top:100px}::selection{background:var(--selection);color:var(--ink)}.shell{width:calc(100% - 128px);max-width:1280px;margin-inline:auto}.section{padding-block:96px}.label{font-family:var(--mono);letter-spacing:.01em;font-size:12px;font-weight:450;line-height:1.65}.section-label{color:var(--accent);margin-bottom:36px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:14px 20px;position:fixed;top:12px;left:20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.arrow{flex-shrink:0}.arrow-up{transform:rotate(-45deg)}.arrow-left{transform:rotate(180deg)}.text-link{min-height:44px;color:var(--accent);align-items:center;gap:12px;font-size:14px;font-weight:550;display:inline-flex}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:28px;min-height:54px;padding:16px 23px;font-size:14px;font-weight:550;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.button:before{content:"";pointer-events:none;background:currentColor;flex-shrink:0;width:20px;height:20px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 6 6 6-6 6m9 0h7' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.button[href*=github\.com]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 6-5 6 5 6m10-12 5 6-5 6M14 4l-4 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.button{font-family:var(--mono);border-radius:4px;gap:16px;font-size:13px}.button .arrow{transition:transform .18s}.button:hover .arrow:not(.arrow-left):not(.arrow-up){transform:translate(3px)}.button:hover .arrow-up{transform:translate(2px,-2px)rotate(-45deg)}@media (prefers-reduced-motion:reduce){.button .arrow{transition:none}.button:hover .arrow:not(.arrow-left):not(.arrow-up){transform:none}.button:hover .arrow-up{transform:rotate(-45deg)}}.button-primary{background:var(--button-bg);color:var(--button-text)}.button-primary:hover{background:var(--button-hover)}.button-text{color:var(--ink);padding-inline:5px}.button-text:hover{color:var(--accent)}.button-paper{background:var(--inverse-text);color:var(--inverse-bg)}.button-paper:hover{background:var(--inverse-button-hover)}.site-header{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:88px;display:flex;position:relative}.wordmark{align-items:center;gap:20px;min-height:44px;display:flex}.monogram{width:44px;height:44px;color:var(--ink);flex-shrink:0}.wordmark-note{border-left:1px solid var(--line);padding-left:18px;font-size:11px;line-height:1.45}.desktop-nav{align-items:center;gap:36px;display:flex}.desktop-nav a{align-items:center;min-height:44px;font-size:13px;display:flex;position:relative}.desktop-nav a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .2s;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform:scaleX(1)}.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;align-items:center;gap:22px;min-height:44px;font-size:13px;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary>span{color:var(--accent);font-size:24px}.mobile-menu[open] summary>span{transform:rotate(45deg)}.mobile-menu nav{top:100%;background:var(--paper);border:1px solid var(--line);padding:16px 24px 24px;position:absolute;inset-inline:0}.mobile-menu nav a{border-bottom:1px solid var(--line);min-height:52px;padding:14px 0;display:block}.hero{min-height:calc(100svh - 89px);padding-top:28px}.hero-top{color:var(--muted);justify-content:space-between;display:flex}.hero-copy{text-align:center;padding-top:36px}.hero-copy h1{letter-spacing:-.075em;font-size:clamp(80px,6.7vw,96px);font-weight:550;line-height:1.05}.name-dot{color:var(--accent)}.hero-heading{letter-spacing:-.035em;max-width:42ch;margin:20px auto 0;font-size:clamp(22px,2.1vw,30px);line-height:1.4}.hero-heading span{color:var(--accent)}.hero-actions{justify-content:center;gap:16px;margin-top:24px;display:flex}.hero-actions .button-text{border-color:var(--line);padding-inline:24px}.hero-grid{grid-template-columns:minmax(0,1fr) 420px minmax(0,1fr);align-items:center;gap:clamp(48px,6vw,96px);padding-block:72px 60px;display:grid}.hero-intro,.hero-professional{min-width:0}.hero-intro .label,.hero-professional .label{color:var(--accent);font-family:var(--mono);margin-bottom:16px}.hero-lead{max-width:30ch;color:var(--muted);font-size:16px;line-height:1.75}.hero-professional{border-top:1px solid var(--line);padding-top:20px}.hero-professional strong{letter-spacing:-.03em;font-size:22px;font-weight:500;line-height:1.3;display:block}.hero-professional>p:not(.label){color:var(--muted);margin-top:12px;font-size:16px}.hero-professional .text-link{margin-top:16px}.portrait-figure{width:100%;min-width:0}.portrait-frame{isolation:isolate;background:var(--portrait-paper);position:relative}.portrait-frame:before,.portrait-frame:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.portrait-frame:before{background:var(--plate);transform:rotate(-6deg)}.portrait-frame:after{background:var(--plate-neutral);z-index:-2;transform:rotate(6deg)}.portrait-paper{isolation:isolate;background:var(--portrait-paper)}.portrait-frame img{aspect-ratio:4/5;object-fit:cover;filter:grayscale();width:100%;mix-blend-mode:var(--portrait-blend)}.portrait-figure figcaption{text-align:center;color:var(--muted);margin-top:40px;font-size:12px}.hero-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:16px;display:flex}.status{align-items:center;gap:10px;font-size:16px;display:flex}.status>span{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.hero-bottom>a{min-height:44px;color:var(--accent);align-items:center;font-size:16px;display:flex}@media (width<=1099px){.hero-grid{grid-template-columns:1fr 1fr;gap:44px;padding-block:64px 40px}.portrait-figure{grid-area:1/1/auto/-1;justify-self:center;width:420px}.hero-copy h1{font-size:clamp(64px,9vw,88px)}.hero-lead{max-width:38ch}}@media (width<=767px){.hero{padding-top:24px}.hero-top .edition{display:none}.hero-copy{padding-top:28px}.hero-copy h1{max-width:9ch;margin-inline:auto;font-size:clamp(48px,12.5vw,64px)}.hero-heading{max-width:25ch;margin-top:20px;font-size:22px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-block:56px 32px}.portrait-figure{grid-column:1;width:min(320px,100% - 48px)}.portrait-figure figcaption{margin-top:32px;font-size:11px}.hero-lead{max-width:65ch}.hero-bottom{flex-direction:column;align-items:start;gap:10px}.hero-professional strong{max-width:24ch}}@media (width<=479px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{font-size:16px}}.proof-section{border-top:1px solid var(--line);padding-block:32px 42px}.proof-section h2{color:var(--muted);font-size:14px;font-weight:450}.proof-grid{grid-template-columns:.9fr 1.1fr 1fr;gap:48px;margin-top:24px;display:grid}.proof-mark{letter-spacing:-.05em;color:var(--accent);align-items:center;min-height:54px;font-size:clamp(22px,2.3vw,34px);font-weight:500;line-height:1.2;display:flex}.proof-number{font-size:54px;line-height:1}.proof h3{margin-top:12px;font-size:14px;font-weight:550}.proof>p:not(.proof-mark){color:var(--muted);max-width:38ch;margin-top:8px;font-size:14px}.proof .text-link{margin-top:6px;font-size:13px}.section-heading{grid-template-columns:1.25fr 1fr;align-items:end;gap:10%;margin-bottom:48px;display:grid}.section-heading h2,.about-intro h2,.contact-section h2{letter-spacing:-.055em;max-width:18ch;font-size:clamp(36px,3.9vw,60px);font-weight:450;line-height:1.08}.lead{letter-spacing:-.015em;font-size:17px;line-height:1.6}.ai-heading{align-items:start}.ai-heading h2{max-width:16ch}.ai-heading>div>p+p{color:var(--muted);margin-top:18px;font-size:14px}.ai-heading .text-link{margin-top:16px}.skill-row{border-top:1px solid var(--line);grid-template-columns:.7fr 1fr 1fr;gap:48px;padding-block:28px;display:grid}.skill-row dt{letter-spacing:-.03em;font-size:22px;line-height:1.3}.skill-row dd p{color:var(--muted);margin-top:10px;font-size:16px}.skill-label{color:var(--accent);font-size:12px}.skill-label.learning{color:var(--accent)}.work-section{background:var(--work)}.work-heading{align-items:start;margin-bottom:56px}.work-heading h2{align-items:start;gap:18px;display:flex}.section-count{font:13px var(--mono);letter-spacing:0;color:var(--accent);padding-top:8px}.project-study{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:24px 8%;padding-block:56px;display:grid}.project-study>*{min-width:0}.project-category{color:var(--muted);font-size:12px;line-height:1.5}.study-intro h3{letter-spacing:-.055em;margin-top:18px;font-size:clamp(34px,3.3vw,48px);font-weight:500;line-height:1.12}.study-intro h3 a:hover,.project-row h4 a:hover{color:var(--accent);text-underline-offset:6px;text-decoration:underline 1px}.study-question{font-family:var(--serif);color:var(--accent);max-width:26ch;margin-top:18px;font-size:clamp(28px,2.5vw,36px);font-style:italic;line-height:1.18}.study-problem{max-width:48ch;margin-top:24px;font-size:16px}.study-implementation{color:var(--muted);max-width:52ch;margin-top:12px;font-size:16px}.study-intro .text-link{margin-top:18px}.study-limit{color:var(--muted);grid-column:1/-1;max-width:65ch;font-size:13px}.study-visual{align-self:center}.study-visual .case-diagram{border:0;padding:28px 20px}.study-result{color:var(--accent);margin-top:16px;font-size:13px}.migration-figure{padding-block:24px}.migration-figure figcaption,.contract-study>p:first-child{color:var(--muted);font-size:13px}.migration-runtimes{grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;display:grid}.migration-runtimes span,.migration-domain>span{color:var(--muted);font-size:12px;display:block}.migration-runtimes strong{letter-spacing:-.045em;margin-top:12px;font-size:clamp(22px,2.3vw,34px);font-weight:450;display:block}.migration-runtimes>div:last-child strong{color:var(--accent)}.migration-domain{border-top:2px solid var(--accent);margin-top:32px;padding-top:22px}.migration-domain>span{color:var(--accent)}.migration-domain>p{letter-spacing:-.025em;margin-top:10px;font-size:21px}.migration-domain small{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.6;display:block}.contract-study{border-left:2px solid var(--accent);padding-left:32px}.contract-definitions{margin-top:28px}.contract-definitions>div{grid-template-columns:.85fr 1fr;align-items:center;gap:20px;padding-block:20px;display:grid}.contract-definitions>div+div{border-top:1px solid var(--line)}.contract-definitions dt{font:italic 48px/1.1 var(--serif);color:var(--accent)}.contract-definitions dd strong{font:15px/1.5 var(--mono);font-weight:450;display:block}.contract-definitions dd span{color:var(--muted);margin-top:6px;font-size:13px;display:block}.contract-study .contract-note{color:var(--muted);max-width:45ch;margin-top:22px;font-size:13px}.case-diagram{background:var(--wash);border:1px solid var(--line);color:var(--accent);min-width:0;padding:24px}.diagram-caption{color:var(--muted);justify-content:space-between;gap:20px;font-size:11px;display:flex}.case-diagram svg{margin-inline:auto;width:100%;max-width:680px;height:auto;margin-top:20px;overflow:visible}.case-diagram rect{fill:var(--paper);stroke:var(--accent);stroke-width:1px}.case-diagram text{fill:var(--accent);font-family:var(--sans);letter-spacing:-.3px;font-size:16px}.case-diagram .diagram-note{font-family:var(--mono);fill:var(--muted);letter-spacing:0;font-size:12px}.case-diagram .connector{stroke:var(--accent);stroke-width:1.3px;fill:none}.case-diagram circle{fill:var(--accent)}.case-diagram .diagram-container{fill:none;stroke-dasharray:4 4}.more-work{margin-top:36px}.more-work>h3{letter-spacing:-.035em;padding-bottom:28px;font-size:24px;font-weight:450}.project-row{border-top:1px solid var(--line);grid-template-columns:.8fr 1.5fr auto;align-items:center;gap:40px;padding-block:28px;display:grid}.project-row h4{letter-spacing:-.04em;margin-top:8px;font-size:30px;font-weight:450}.project-row>div>p:not(.project-category){font-size:16px;line-height:1.65}.project-row .project-row-limit{color:var(--muted);margin-top:10px;font-size:13px}.project-row .text-link{white-space:nowrap;font-size:13px}.about-intro{grid-template-columns:1.2fr 1fr;gap:10%;margin-bottom:64px;display:grid}.about-intro h2{max-width:none}.about-intro h2 em{color:var(--accent);font-size:1.3em}.about-intro>div>p+p{color:var(--muted);margin-top:18px;font-size:14px}.about-layout{grid-template-columns:.75fr 1.5fr;gap:12%;display:grid}.about-margin{border-top:1px solid var(--line);padding-top:25px}.about-margin>.label{color:var(--muted)}.career-list li{border-top:1px solid var(--line);padding-block:24px 30px}.career-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;display:flex}.career-meta .label{font-size:10px}.career-meta .current{color:var(--accent);border:1px solid var(--line);padding:2px 9px}.career-list h3{letter-spacing:-.04em;margin-top:15px;font-size:25px;font-weight:500}.career-role{color:var(--accent);margin-top:3px;font-size:13px}.career-list li>p:last-child{color:var(--muted);margin-top:12px;font-size:14px}.formation-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8%;margin-top:34px;padding-top:44px;display:grid}.formation-grid>div>h3{color:var(--accent);font-weight:450}.formation{margin-top:25px}.formation>.label{color:var(--muted);font-size:10px}.formation h4{margin-top:8px;font-size:18px;font-weight:500}.formation>p:last-child{color:var(--muted);margin-top:4px;font-size:14px}.formation-note{color:var(--muted);margin-top:25px;font-size:13px}.competition-list{margin-top:20px}.competition-list li{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding-block:12px;font-size:12px;display:flex}.competition-list .label{white-space:nowrap;color:var(--muted);font-size:11px}.public-presence{border-top:1px solid var(--line);grid-template-columns:.8fr repeat(3,1fr);gap:30px;margin-top:50px;padding-top:30px;display:grid}.public-presence>h3{color:var(--muted);font-weight:450}.presence-link{align-items:start;gap:15px;min-height:44px;display:flex}.presence-link strong{font-size:16px;font-weight:500}.presence-link>span>span{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.6;display:block}.presence-link>.arrow{width:16px;height:16px;margin-top:4px}.presence-link:hover strong{color:var(--accent)}.contact-section{background:var(--inverse-bg);color:var(--inverse-text);padding-bottom:0}.contact-section .section-label{color:var(--inverse-accent)}.contact-layout{grid-template-columns:1.3fr 1fr;align-items:center;gap:10%;padding-bottom:85px;display:grid}.contact-section h2{max-width:none;font-size:clamp(44px,5.5vw,82px);line-height:1.03}.contact-section h2 em{color:var(--inverse-accent);font-size:1.25em}.contact-copy>p{color:var(--inverse-muted);max-width:40ch;font-size:16px}.contact-copy .button{margin-top:30px}.contact-email{width:fit-content;font-family:var(--sans);color:var(--inverse-muted);margin-top:15px;padding-block:10px;font-size:16px;display:block}.contact-email:hover{text-decoration:underline}.contact-links{gap:34px;margin-top:22px;display:flex}.contact-links a{align-items:center;gap:12px;min-height:44px;font-size:14px;display:flex}.contact-links a:hover{color:var(--inverse-accent)}.contact-end{border-top:1px solid var(--inverse-line);color:var(--inverse-muted);justify-content:space-between;align-items:center;gap:20px;padding-block:22px;font-size:10px;display:flex}.contact-end a{align-items:center;min-height:44px;display:flex}.site-footer{background:var(--inverse-bg);color:var(--inverse-muted);border-top:1px solid var(--inverse-line)}.footer-inner{justify-content:space-between;align-items:center;gap:24px;padding-block:22px;font-size:10px;display:flex}.footer-inner a{align-items:center;min-height:44px;display:flex}.footer-inner a:hover{text-decoration:underline}.case{padding-top:44px}.case-category{color:var(--accent);margin-top:56px}.case-header h1{letter-spacing:-.07em;overflow-wrap:anywhere;margin-top:22px;font-size:clamp(48px,7.2vw,106px);font-weight:450;line-height:1.05}.case-summary{letter-spacing:-.025em;max-width:42ch;margin-top:25px;font-size:clamp(20px,2.2vw,30px);line-height:1.45}.case-metadata{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;margin-block:38px;padding-block:24px;display:flex}.case-metadata dl{flex-wrap:wrap;align-items:start;gap:20px 35px;display:flex}.case-metadata dt{font:10px var(--mono);color:var(--muted);letter-spacing:.05em}.case-metadata dd{max-width:30ch;margin-top:9px;font-size:12px;line-height:1.6}.case-metadata dd a{text-underline-offset:4px;text-decoration:underline}.case-metadata>.button{flex-shrink:0}.case #mapa>.case-diagram{max-width:none;padding:30px}.case #mapa>.case-diagram svg{max-width:720px}.case-premise{grid-template-columns:1fr 1.5fr;gap:8%;padding-bottom:38px;display:grid}.case-premise .label{color:var(--accent);margin-bottom:10px}.case-premise>div>p:last-child{max-width:55ch;font-size:16px}.case-layout{grid-template-columns:220px 1fr;gap:12%;padding-top:70px;padding-bottom:90px;display:grid}.case-sidebar nav{flex-direction:column;gap:5px;display:flex;position:sticky;top:120px}.case-sidebar nav>.label{color:var(--muted);margin-bottom:20px}.case-sidebar nav a{align-items:center;gap:15px;min-height:44px;font-size:13px;display:flex}.case-sidebar nav a:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.case-sidebar nav a .label{color:var(--accent);font-size:10px}.case-content{min-width:0;max-width:780px}.case-content section+section{border-top:1px solid var(--line);margin-top:64px;padding-top:36px}.case-content section>.label{color:var(--accent);margin-bottom:14px;font-size:10px}.case-content h2{letter-spacing:-.045em;margin-bottom:24px;font-size:clamp(28px,3vw,40px);font-weight:450;line-height:1.15}.case-content h3{letter-spacing:-.025em;font-size:20px;font-weight:500;line-height:1.35}.case-content p{max-width:65ch;color:var(--muted);font-size:16px}.prose p+p{margin-top:20px}.prose strong{color:var(--ink);font-weight:550}.prose code{font-family:var(--mono);background:var(--wash);color:var(--accent);padding:2px 4px;font-size:.9em}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.constraint-list li{color:var(--muted);padding-left:24px;font-size:16px;line-height:1.7;position:relative}.constraint-list li:before{content:"—";color:var(--accent);position:absolute;left:0}.constraint-list li+li{margin-top:15px}.decision-list li{border-top:1px solid var(--line);grid-template-columns:1fr;padding-block:23px;display:grid}.decision-list li:first-child{border-top:0;padding-top:0}.decision-list li>.label{color:var(--accent);padding-top:4px}.decision-list p{margin-top:10px}.qualities{gap:16px;display:grid}.qualities article{background:var(--wash);padding:22px}.qualities p{margin-top:10px}.qualities .quality-evidence{font-size:13px}.quality-evidence>.label{color:var(--accent);margin-bottom:5px;font-size:11px;display:block}.evidence-list li{border-top:1px solid var(--line);padding-block:22px}.evidence-list li:first-child{border:0;padding-top:0}.evidence-list h3 a{color:var(--accent);align-items:center;gap:10px;min-height:44px;display:inline-flex}.evidence-list a:hover{text-underline-offset:5px;text-decoration:underline}.evidence-list p{margin-top:10px}.case-content .limits-section{border-top-color:var(--accent);background:var(--limits);padding:28px}.case-content .limits-section>.label,.limits-section .constraint-list li:before{color:var(--accent)}.case-next{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding-block:30px;display:flex}.case-next>a:last-child{text-align:right;flex-direction:column;gap:10px;display:flex}.case-next strong{letter-spacing:-.04em;justify-content:end;align-items:center;gap:20px;font-size:26px;font-weight:450;display:flex}.case-next .label{color:var(--muted);font-size:10px}.case-next a:hover{color:var(--accent)}.case-contact{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:20px 45px;display:flex}.case-contact p{color:var(--muted);font-size:14px}.not-found{min-height:75vh;padding-block:75px 100px}.not-found>.label{color:var(--accent)}.not-found-grid{grid-template-columns:1fr 1fr;align-items:center;gap:9%;margin-top:60px;display:grid}.error-code{letter-spacing:-.1em;color:var(--accent);font-size:clamp(140px,21vw,320px);font-weight:450;line-height:1}.error-code span{color:var(--accent)}.not-found h1{letter-spacing:-.055em;font-size:clamp(36px,4.3vw,64px);font-weight:450;line-height:1.05}.not-found-grid>div>p{color:var(--muted);margin-top:25px;font-size:16px}.not-found .button{margin-top:30px}.not-found .text-link{width:fit-content;margin-top:15px;display:flex}@media (width<=1100px){.shell{width:calc(100% - 64px)}.proof-grid{gap:30px}.section-heading{gap:7%}.project-study{column-gap:6%}.study-intro h3{font-size:34px}.skill-row{grid-template-columns:.7fr 1fr 1fr;gap:28px}.project-row{grid-template-columns:.75fr 1.3fr;gap:24px}.project-row>.text-link{grid-column:2}.contract-study{padding-left:24px}.contract-definitions>div{grid-template-columns:1fr;gap:10px}.about-layout{gap:7%}.case-layout{grid-template-columns:160px 1fr;gap:7%}.public-presence{grid-template-columns:repeat(3,1fr)}.public-presence>h3{grid-column:1/-1}.contact-layout{gap:7%}.case-metadata{align-items:start}.case-metadata dl{gap:20px}}@media (width<=767px){.shell{width:calc(100% - 40px)}.section{padding-block:64px}.header-inner{height:72px}.monogram{font-size:36px}.wordmark{gap:12px}.wordmark-note{padding-left:12px;font-size:10px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{gap:12px;display:flex}.proof-section{padding-block:30px 36px}.proof-grid{grid-template-columns:1fr;gap:24px;margin-top:20px}.proof{grid-template-columns:1fr;display:grid}.proof+.proof{border-top:1px solid var(--line);padding-top:24px}.proof-mark{min-height:0;font-size:30px}.proof-number{font-size:48px}.proof>p:not(.proof-mark){max-width:44ch}.section-heading,.about-intro{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.section-heading h2,.about-intro h2{max-width:none;font-size:42px}.section-heading .lead,.about-intro .lead{font-size:16px}.section-count{padding-top:5px;font-size:12px}.project-study{grid-template-columns:1fr;gap:28px;padding-block:36px}.study-intro h3{margin-top:14px;font-size:clamp(31px,8.2vw,42px)}.study-question{max-width:26ch;margin-top:16px;font-size:29px}.study-problem{margin-top:20px;font-size:16px}.study-implementation{font-size:16px}.study-limit{font-size:13px}.study-visual .case-diagram{padding:20px 16px}.diagram-caption{flex-direction:column;gap:12px;font-size:11px}.diagram-caption>span:last-child{font-size:10px}.migration-figure{padding-block:8px}.migration-runtimes{gap:16px;margin-top:24px}.migration-runtimes strong{font-size:26px}.migration-domain>p{font-size:22px}.contract-study{padding-left:20px}.contract-definitions>div{grid-template-columns:.85fr 1fr}.contract-definitions dt{font-size:44px}.more-work{margin-top:24px}.project-row{grid-template-columns:1fr;gap:16px;padding-block:28px}.project-row>.text-link{grid-column:auto}.project-row h4{font-size:30px}.project-category{font-size:12px}.skill-row{grid-template-columns:1fr;gap:20px}.skill-row dt{font-size:24px}.skill-row dd p{margin-top:8px;font-size:16px}.skill-label{font-size:12px}.ai-heading>div>p+p{font-size:16px}.case-premise{grid-template-columns:1fr;gap:24px;padding-bottom:30px}.about-intro h2{font-size:41px}.about-layout{grid-template-columns:1fr;gap:26px}.about-margin{padding-top:20px}.about-margin .text-link{margin-top:6px}.career-meta .label{font-size:11px}.career-list h3{font-size:25px}.career-list li>p:last-child{font-size:16px}.formation-grid{grid-template-columns:1fr;gap:36px;margin-top:20px;padding-top:32px}.formation-note{margin-top:18px}.competition-list li{gap:14px;font-size:13px}.competition-list .label{font-size:11px}.public-presence{grid-template-columns:1fr;gap:24px;margin-top:35px;padding-top:24px}.public-presence>h3{grid-column:auto}.presence-link{justify-content:space-between}.presence-link>span>span{max-width:42ch}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:45px}.contact-section h2{font-size:clamp(43px,10.5vw,69px)}.contact-copy>p{max-width:45ch;font-size:16px}.contact-copy .button{margin-top:25px}.contact-section.section{padding-bottom:0}.contact-end{flex-wrap:wrap;gap:10px;padding-block:18px;font-size:11px}.footer-inner{flex-direction:column;align-items:start;gap:6px;font-size:10px}.footer-inner a{min-height:38px}.case{padding-top:30px}.case-category{margin-top:36px;font-size:11px}.case-header h1{margin-top:18px;font-size:clamp(39px,10.3vw,74px)}.case-summary{margin-top:20px;font-size:20px}.case-metadata{flex-direction:column;align-items:stretch;gap:24px;margin-block:28px}.case-metadata dl{gap:22px}.case-metadata dd{max-width:30ch;font-size:11px}.case-metadata dt{font-size:11px}.case-metadata .button{align-self:start}.case #mapa>.case-diagram{padding:15px}.case-layout{grid-template-columns:1fr;gap:38px;padding-block:35px 55px}.case-sidebar nav{border-bottom:1px solid var(--line);flex-flow:wrap;gap:6px 20px;padding-bottom:20px;position:static}.case-sidebar nav>.label{width:100%;margin:0}.case-sidebar nav a{gap:8px;font-size:12px}.case-content p,.constraint-list li{font-size:16px}.case-content section+section{margin-top:45px;padding-top:28px}.case-content h2{font-size:30px}.case-content h3{font-size:20px}.case-content .limits-section{padding:22px}.case-next{align-items:start;gap:20px}.case-next>.text-link{gap:8px;font-size:12px}.case-next strong{gap:10px;font-size:23px}.case-next .label{font-size:11px}.case-contact{flex-direction:column;align-items:start;gap:6px;padding-bottom:35px}.not-found{padding-block:50px 70px}.not-found>.label{font-size:11px}.not-found-grid{grid-template-columns:1fr;gap:30px;margin-top:40px}.error-code{font-size:180px}.not-found h1{max-width:12ch;font-size:40px}.not-found-grid>div>p{max-width:40ch;font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.site-header,.site-footer,.hero-actions,.case-sidebar,.contact-end{display:none}.shell{width:100%}.section{padding-block:32px}.case-layout{display:block}.case-content{max-width:none}a{text-decoration:underline}}.case-diagram{container-type:inline-size}.case-diagram .diagram-mobile{display:none}@container (width<=420px){.case-diagram .diagram-desktop{display:none}.case-diagram .diagram-mobile{max-width:330px;display:block}.diagram-mobile text{font-size:16px}.diagram-mobile .diagram-note{font-size:12px}}.header-actions{align-items:center;gap:16px;display:flex}.desktop-nav{margin-left:auto;margin-right:28px}.theme-toggle{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--accent);cursor:pointer;touch-action:manipulation;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle[hidden]{display:none}.theme-toggle:hover{background:var(--wash)}.theme-moon,[data-theme=dark] .theme-sun{display:none}[data-theme=dark] .theme-moon{display:block}@media (width<=767px){.header-actions{gap:10px}}@media print{:root,:root[data-theme],:root:not([data-theme]){--paper:#f6f5f1;--ink:#242427;--accent:#246b60;--muted:#62626a;--line:#d4d4d8;--wash:#eaeaec;--white:#f6f5f1;--work:#f0f0f2;--limits:#eaeaec;--button-bg:#246b60;--button-text:#f6f5f1;--button-hover:#195449;--selection:#d4e7df;--portrait-blend:multiply;--inverse-bg:var(--paper);--inverse-text:var(--ink);--inverse-muted:var(--muted);--inverse-accent:var(--accent);--inverse-line:var(--line);color-scheme:light}.theme-toggle{display:none}}.mcp-feature{background:var(--work);border-top:1px solid var(--line);padding-block:40px 56px}.feature-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px;display:flex}.feature-heading h2{letter-spacing:-.055em;margin-top:12px;font-size:clamp(34px,3.8vw,54px);font-weight:500;line-height:1.12}.feature-heading .lead{color:var(--muted);max-width:30ch}.feature-heading .lead em{color:var(--accent);font-size:1.3em}.feature-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:7%;display:grid}.feature-layout>*{min-width:0}.feature-copy .study-question{max-width:21ch;margin-top:0}.feature-copy>p:not(.study-question):not(.study-limit){color:var(--muted);max-width:51ch;margin-top:18px;font-size:16px}.feature-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-block:24px 12px;display:flex}.feature-actions .button{font-size:16px}.feature-copy .study-limit{margin-top:18px}.source-link{color:var(--accent);font:14px/1.6 var(--sans);text-underline-offset:4px;padding-block:12px;text-decoration:underline;display:inline-block}.source-link:hover{color:var(--accent)}.architecture-explorer{border:1px solid var(--line);background:var(--paper);min-width:0;padding:24px}.explorer-instruction{color:var(--muted);font-size:14px}.architecture-flow{width:100%;margin-block:24px;overflow:visible}.architecture-flow rect{fill:var(--wash);stroke:var(--line);transition:stroke .18s,fill .18s}.architecture-flow text{fill:var(--muted);font:18px var(--mono)}.architecture-flow .flow-label{font:14px var(--sans)}.architecture-flow path{stroke:var(--line);fill:none;stroke-width:2px}.architecture-flow .is-selected rect{fill:var(--accent);stroke:var(--accent)}.architecture-flow .is-selected text:not(.flow-label){fill:var(--paper)}.architecture-flow .is-selected path,.architecture-flow path.is-related{stroke:var(--accent)}.migration-controls{flex-wrap:wrap;gap:8px;margin-block:20px;display:flex}.architecture-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block:20px;display:grid}.architecture-controls button{text-align:left}.architecture-controls[hidden],.migration-controls[hidden]{display:none}.architecture-controls button,.migration-controls button{background:var(--paper);color:var(--ink);border:1px solid var(--muted);min-height:44px;font:16px/1.5 var(--sans);cursor:pointer;touch-action:manipulation;padding:10px 12px}.architecture-controls button span{font:12px var(--mono);margin-right:8px}.architecture-controls button[aria-pressed=true],.migration-controls button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}.architecture-controls button:hover,.migration-controls button:hover{text-underline-offset:4px;text-decoration:underline}.architecture-panel{border-top:1px solid var(--line);padding-top:20px}.architecture-panel+.architecture-panel{margin-top:24px}.stage-identifier{font:13px/1.6 var(--mono);color:var(--accent);overflow-wrap:anywhere;margin-bottom:18px}.architecture-panel dl{gap:16px;display:grid}.architecture-panel dt{font:14px/1.5 var(--sans);color:var(--accent);margin-bottom:4px;font-weight:550}.architecture-panel dd{color:var(--muted);overflow-wrap:anywhere;font-size:16px;line-height:1.6}.architecture-panel .source-link{margin-top:10px}.architecture-explorer[data-enhanced] .architecture-panels{display:grid}.architecture-explorer[data-enhanced] .architecture-panel{grid-area:1/1;margin:0}.architecture-explorer[data-enhanced] .architecture-panel[hidden]{visibility:hidden;display:block}.migration-web{gap:24px;margin-block:24px;display:grid}.migration-web>div>span{color:var(--muted);font-size:14px}.migration-web strong{letter-spacing:-.04em;color:var(--accent);margin-block:12px;font-size:clamp(30px,3vw,44px);font-weight:450;line-height:1.2;display:block}.migration-web p{color:var(--muted);font-size:16px}.migration-figure[data-enhanced] .migration-web>div{grid-area:1/1}.migration-figure[data-enhanced] [data-runtime][hidden]{visibility:hidden;display:block}.case #mapa>.architecture-explorer,.case #mapa>.migration-figure{max-width:850px;margin-inline:auto;padding:28px}.proof>p:not(.proof-mark),.study-implementation,.skill-row dd p,.career-list li>p:last-child,.presence-link>span>span,.case-content p,.constraint-list li,.proof h3,.study-limit,.contract-study .contract-note,.project-row .project-row-limit,.about-intro>div>p+p,.formation>p:last-child,.formation-note,.qualities .quality-evidence,.case-contact p,.not-found-grid>div>p,.migration-domain small,.contract-definitions dd span,.ai-heading>div>p+p,.button,.text-link,.proof .text-link,.project-row .text-link{font-size:16px}.study-intro .source-link+.text-link{width:fit-content;display:flex}@media (width>=768px) and (width<=1100px){.feature-layout{grid-template-columns:1fr 1.15fr;gap:28px}.feature-heading{align-items:start}.feature-heading .lead{max-width:24ch}.architecture-explorer{padding:20px}}@media (width<=767px){.mcp-feature{padding-block:32px 40px}.feature-heading{margin-bottom:30px;display:block}.feature-heading .lead{max-width:36ch;margin-top:18px}.feature-layout{grid-template-columns:1fr;gap:32px}.feature-copy .study-question{max-width:26ch}.architecture-explorer{padding:20px 16px}.architecture-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.architecture-controls button{text-align:left;padding-inline:8px}.architecture-controls button span{margin-right:5px}.case #mapa>.architecture-explorer,.case #mapa>.migration-figure{padding:20px 16px}}@media (prefers-reduced-motion:reduce){.architecture-flow rect{transition:none}}@media (width>=768px) and (width<=1100px){.architecture-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.architecture-controls button{text-align:left}}.brand-opening[data-astro-cid-xtleqxzo]{display:none}.brand-intro .brand-opening[data-astro-cid-xtleqxzo]{z-index:200;background:var(--paper);color:var(--ink);pointer-events:none;place-items:center;animation:1.1s both opening-out;display:grid;position:fixed;inset:0}.brand-opening[data-astro-cid-xtleqxzo] .opening-mark{width:96px;height:96px;animation:.65s both mark-in}@keyframes mark-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-out{0%,65%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.brand-intro .brand-opening[data-astro-cid-xtleqxzo]{display:none}}.background-sketches[data-astro-cid-eo64qgpg]{pointer-events:none;color:var(--accent);z-index:1;position:absolute;inset:0;overflow:hidden}.sketch[data-astro-cid-eo64qgpg]{top:calc(200px + (100% - 440px) * var(--position));transform:rotate(var(--angle));opacity:.32;width:calc(50% + min(1280px,100% - 128px)/-2 - 16px);max-width:180px;position:absolute}.sketch[data-astro-cid-eo64qgpg] svg[data-astro-cid-eo64qgpg]{width:100%;height:auto}.left[data-astro-cid-eo64qgpg]{left:4px}.right[data-astro-cid-eo64qgpg]{right:4px}@media (width<=1100px){.sketch[data-astro-cid-eo64qgpg]{opacity:.24;width:24px}.left[data-astro-cid-eo64qgpg]{left:3px}.right[data-astro-cid-eo64qgpg]{right:3px}}@media (width<=767px){.background-sketches[data-astro-cid-eo64qgpg]{display:none}}@media print{.background-sketches[data-astro-cid-eo64qgpg]{display:none}}body{isolation:isolate;position:relative}
